Home

rapport

image

Contents

1. Fvalue Figure 19 Repr sentation graphique du sch ma XSD Ce sch ma d finit pr cis ment la syntaxe que doivent suivre les documents XML Ceux ci peuvent soit inclure un appel de m thode pour le client mobile soit un retour de m thode pour le serveur Ce choix se fait l aide de la balise lt xs choice gt De plus chaque appel ou retour de m thode peut tre compos de 0 aN param tres qui ont un nom un type et une valeur Enfin chaque appel ou retour de m thode poss de un attribut id qui contient l identifiant de s curit du client lourd Cet identifiant est g n r par le serveur lors d une authentification r ussie du client et sert de contr le pour le serveur de s curit tout au long de la connexion Un document XML d coulant de ce sch ma permet ainsi d effectuer un appel de m thode ou un retour de m thode ayant des param tres de types simples tels que des entiers du texte ou encore des bool ens ce qui est bien adapt aux changes de messages entre les clients et les serveurs dans ce projet Voici un exemple d appel de m thode en XML 12 Les d tails concernant le fonctionnement de l identifiant de s curit sont donn s au chapitre 13 3 page 54 Page 51 129 TA IICT Mobile Doctor s Desktop Stephen Badan lt xml version 1 0 encoding UTF 8 gt lt message xmins xsi http www w3 org 2001 XMLSchema instance xsi noNamespaceSchemaLoc
2. Gestion des demandes me d authentification il NI ae eg __ Lecture des informations ii geta NOS i on hi de l appareil mobile A O ma ee pore tt des out Senice d authentification SI lt d mat rielle Er JAVA d Figure 10 Authentification mat rielle sur Windows Mobile Page 37 129 D IICT Mobile Doctor s Desktop Stephen Badan Dans le cadre de ce projet l authentification n utilise que le code IMEI sans le code IMSI qui permet d identifier la carte SIM utilis e dans le t l phone Cela permet au m decin de pouvoir changer la carte SIM sans avoir demander l administrateur de modifier les acc s au niveau du serveur la carte SIM n tant pas un l ment critique au niveau de la s curit du service En outre il est ainsi aussi possible d utiliser l appareil mobile sans carte SIM si le m decin ne n cessite pas la fonction de t l phonie par exemple L on pourrait toutefois ajouter le contr le du code IMSI ult rieurement tr s facilement si n cessaire Client Lourd Authentification mat rielle Java Native Interface Machine virtuelle Java Syst me d exploitation PDA Phone Figure 11 Repr sentation en couches de l authentification mat rielle Au niveau des limitations des plates formes cette solution ne fonctionne que sur Windows Mobile 5 0 sur des appareils de type PDA Phones seulement En r sum une authentification mat rielle effectue les ta
3. 12 Syst me de mise a jour La r alisation de ce projet comprend un syst me de mise a jour permettant d ajouter des applications ou de mettre a niveau les applications d ja existantes sur le client mobile L objectif du systeme de mise a jour est d assurer que les fichiers install s sur le client lourd soient a jour et qu ils soient valides au niveau de leur int grit Une application qui ne satisfait pas a ces deux crit res peut pr senter des failles de s curit et l utilisation d une telle application peut compromettre la confidentialit des donn es et du service dans son ensemble 12 1 D finition d une application Afin de mieux comprendre comment le syst me de mise jour fonctionne il est tout d abord n cessaire de conna tre la structure d une application Une application telle que d finie pour ce service repr sente un ensemble de fichiers li s dont certains sont ex cutables Par exemple si un fichier ex cutable Applicationi jar n cessite une librairie externe commonDll dil pour s ex cuter alors la cr ation d une application Pack 1 contenant ces deux fichiers permet de garantir que les deux fichiers soient mis jour et install s ensemble correctement Un fichier peut par ailleurs tre utilis par plusieurs applications simultan ment comme c est le cas du fichier commonDII dil qui est utilis la fois par l application Pack 2 et l application Pack 3 dans le sch ma 15 Application Pack 1 Applic
4. Un message d erreur doit tre affich indiquant que le code IMEI est d j utilis Idem au r sultat attendu Cr er un nouvel appareil mobile poss dant un nouveau code IMEI L appareil mobile doit tre cr Idem au r sultat attendu Choisir de modifier l appareil puis modifier certains champs et cliquer sur cancel modifications Les valeurs des champs doivent tre restaur es leur valeur d origine Idem au r sultat attendu V rifier que le contr le des champs s effectue correctement pour chaque champ du formulaire Une erreur doit tre affich e si un champ est vide ou invalide indiquant quel est le champ concern Idem au r sultat attendu Supprimer un appareil mobile L appareil mobile doit tre supprim ainsi que toutes les attributions de cet appareil mobile aux utilisateurs Idem au r sultat attendu 19 1 5 4 Tests de la gestion des attributions des appareils mobiles Tous les tests suivants s effectuent lorsque l administrateur est authentifi Test effectu R sultat attendu R sultat observ S lectionner un utilisateur et essayer de lui ajouter et de lui Les appareils mobiles doivent tre ajout s et supprim s de Idem au r sultat attendu Si aucun appareil mobile n est Page 86 129 D LOS IICT Mobile Doctor s Desktop Stephen Badan supprimer des appareils mobiles l utilisat
5. manuellement afin que le parseur JAXB puisse cr er une classe Java partie du sch ma La conversion entre les objets Java et le document XML est ensuite effectu e automatiquement par JAXB Cette technologie n est malheureusement pas disponible pour Java ME c est pourquoi il faut utiliser un parseur XML standard du c t du client Un tel parseur n est pas non plus int gr dans Java ME mais il existe plusieurs parseurs t l chargeables et pr vus cet effet 20 Name License Size MIDP Type ASXMLP 020308 Modified BSD 6 kB yes push model ML 2 0 alpha EPL 9 kB yes pull ML 1 EPL 16 KB yes pull MinML 1 7 BSD 14KB no push NanoXML 1 6 4 zlibilibpng 10 kB patch model TinyXML 0 7 GPL 12 kB no model X GPL 6 kB yes model J ai retenu le parseur kXML version 2 en raison de la documentation qui est disponible pour ce parseur et pour la licence qui n est pas trop restrictive EPL Eclipse Public License en opposition la licence GPL Cette licence requiert seulement que le code faisant partie de la licence EPL reste EPL le reste du code que nous avons ajout nous m mes peut tre soumis la licence de notre choix donc sans restriction 21 Pour effectuer les requ tes entre le client mobile et le serveur un document XML est utilis Le sch ma xsd des documents XML est le suivant lt xml version 1 0 encoding UTF 8 gt lt xs schema xmins xs http www w3 org 2001 XMLSchema elementFormDefault qualified
6. TA ICT Mobile Doctor s Desktop Stephen Badan des composants graphiques externes de type SWT Standard Widget Toolkit SWT a t d velopp par IBM puis a t repris par Eclipse Foundation et est sous licence open source Cette solution est crite en Java et utilise des fonctionnalit s natives l aide de JNI afin d afficher les composants graphiques lourds au niveau du syst me d exploitation L utilisation de JNI induit l utilisation d une librairie externe sp cifique la plateforme utilis e ce qui explique que chaque version de SWT est sp cifique un seul syst me d exploitation Il existe une multitude de versions de SWT destin es des plateformes de type diff rent dont une version pour Windows Mobile 5 0 L alternative SWT est Swing Swing est crit en Java uniquement pas d appels JNI donc compos de composants graphiques l gers ce qui lui offre une meilleure portabilit et une apparence visuelle plus ind pendante de la plateforme utilis e et permet aussi de cr er des interfaces graphiques avec des hi rarchies de fen tres plus complexes qu avec SWT En revanche SWT est mieux optimis pour les appareils ressources limit es car l utilisation de JNI permet d utiliser les ressources graphiques du syst me d exploitation contrairement de Swing qui fonctionne dans les couches sup rieures de Java et qui apr s essais se trouve tre trop lourd l ex cution sur des appareils mobiles 6 7
7. dit es par des entreprises externes Il n existe qu un nombre restreint de machines virtuelles pour Windows Mobile Parmi les plus connues se trouvent la machine J9 d IBM incluse dans l outil de d veloppement WebSphere Everyplace Micro Environment d IBM et la machine CrEme de NSICOM Ces deux machines virtuelles sont r put es pour tre stables mais sont payantes Dans le cadre de ce projet j ai opt pour la machine virtuelle d IBM car celle ci supporte le profil CDC 1 1 alors que CrEme ne supporte que le profil CDC 1 0 La machine virtuelle d IBM poss de par ailleurs un meilleur support et une meilleure aide que la machine virtuelle CrEme Une version de d monstration est utilis e dans ce projet Aucune information officielle n a malheureusement pu tre trouv e quant au co t de la version d finitive le site d IBM ne donnant aucun prix pour ce produit II semblerait toutefois que cette machine virtuelle soit en vente a un prix de 25 USS par appareil mobile 5 9 1 3 Interface graphique La machine virtuelle d IBM inclut par d faut les composants graphiques AWT Ces composants tant relativement limit s ils ne contiennent que les boutons champs de saisie et labels j ai choisi d utiliser 3 JNI permet d ex cuter au sein d un programme Java du code C ou C contenu dans une librairie externe de type DLL Dynamic Link Library Un exemple pratique d utilisation de JNI est donn au chapitre 11 3 page 36 Page 21 129
8. inclure ces deux fichiers Si la session de l utilisateur n est pas valide alors l en t te remplace la page qui devrait s afficher par un simple message d erreur Cette m thode l avantage d all ger et de faciliter le contr le d authentification car toutes les autres pages JSP n ont plus se pr occuper de l authentification du moment o elles incluent les deux fichiers susmentionn s 14 3 Fonctionnalit s Le service d administration permet l administrateur de g rer la totalit du serveur de s curit La liste des fonctionnalit s offertes par ce service est donn e ci dessous gt gt OS Gestion des utilisateurs autoris s se connecter au service de s curit Gestion des groupes d utilisateurs Gestion des param tres de s curit r gissant le comportement des authentifications et des mises jour des clients lourds Gestion des appareils mobiles autoris s se connecter au service de s curit Gestion des attributions des appareils mobiles aux utilisateurs Gestion des machines virtuelles autoris es tre utilis es dans le service de s curit Gestion des syst mes d exploitation autoris s tre utilis s dans le service de s curit Gestion des applications et des fichiers qu elles contiennent Gestion des droits d ex cution des applications par les groupes d utilisateurs Gestion des param tres de configuration g n raux du serveur de s curit
9. le cas J ai ainsi profit de ce temps suppl mentaire et de certains week ends afin d ajouter des fonctionnalit s telles que l authentification externe et afin d effectuer un plus grand nombre de tests de l application La figure 28 repr sente le d roulement r el du projet Semaines Ce BER EECH RECH REECH ECH EC ESCH ESCH Du 17 09 2007 24 09 2007 01 10 2007 08 10 2007 15 10 2007 22 10 2007 29 10 2007 05 11 2007 12 11 2007 19 11 2007 26 11 2007 03 12 2007 10 12 2007 Au 21 09 2007 28 09 2007 05 10 2007 12 10 2007 19 10 2007 26 10 2007 02 11 2007 09 11 2007 16 11 2007 23 11 2007 30 11 2007 07 12 2007 14 12 2007 D veloppement tests et rapport Finalisation rapport Rendu du travail de dipl me Figure 29 Macro calendrier initial Semaines LO l 2 3 4 5 6 7 8 9 10 11 12 13 ouf 03 09 2007 10 09 2007 17 09 2007 24 09 2007 01 10 2007 08 10 2007 15 10 2007 22 10 2007 29 10 2007 05 11 2007 12 11 2007 19 11 2007 26 11 2007 03 12 2007 10 12 2007 Mon er dE TTT Finalisation du rapport Rendu du travail de dipl me Figure 28 Macro calendrier r el 17 1 2 Micro calendrier La planification des diff rentes t ches d crites dans le cahier des charges est repr sent e dans le micro calendrier Micro calendrier d tails la page 73 qui repr sente une vue g n rale du d roulement du proj
10. pour d marrer la synchronisation 8 Aller dans le r pertoire C Program Files IBM WEME runtimes 61 wm50 arm ppro11 d compresser le fichier e weme wince50 arm ppro11_6 1 1 20061110 161633 zip et copier les r pertoires bin et lib dans J9 PPRO11 sur le Pocket PC 9 T l charger et d compresser RAPI Tools itsutilsbin 20060821 zip http www xs4all nl itsme projects xda tools html 10 Ouvrir NetBeans cr er un nouveau projet pour CDC et choisir SEMC 100 version 9 00 11 Dans le projet remplacer le fichier build xml par le fichier d crit sur le site http blogs sun com bblog entry developing java_applications for pocket entre les 2 balises lt project gt a la suite de ce qu il y a d j dans le fichier 12 Remplacer la ligne lt arg Mo ate re Leg classpath pocketpc java install path dist jar name poc E cl parhietnanisee layout dae AS main class gt par lt arg value jcl ppro11 classpath pocketpc java install path dist jar name pocketpc java install path matisse layout jar main class gt 13 Remplacer les diff rents chemins en fonction de l emplacement du RAPI Tools et du r pertoire J9 sur le Pocket PC ainsi que le nom du projet 14 Ex cuter le projet Page 112 129 vg o ICT Mobile Doctor s Desktop Stephen Badan 19 6 Cr ation des certificats Ce guide explique comment cr er les diff rents certificats n cessaires la s curisatio
11. Il est noter quand dans notre cas le fichier keystore est situ dans le r pertoire de l utilisateur local Il est bien s r possible de d placer ce fichier il faut alors modifier le chemin d acc s keystoreFile De plus le mot de passe pour ouvrir le fichier keystore doit tre indiqu dans keystorePass il vaut ici security Le serveur Web est maintenant pr t recevoir des requ tes s curis es 19 6 2 Importation des certificats sur Java ME Sans ajout du certificat du serveur sur le client mobile ce dernier refusera d ouvrir la connexion et Page 113 129 gt TA ICT Mobile Doctor s Desktop Stephen Badan affichera l erreur suivante certficate chain root is not a trusted Certificate Authority Cela signifie que le client Java ME ne poss de aucune information sur l autorit de certification qui lui permette de contr ler la validit du certificat du serveur Il faut donc importer le certificat du serveur sur le client Dans un premier temps il faut extraire la cl publique du serveur sous forme de certificat Pour cela il faut effectuer la commande suivante IAVA_HOME bin keytool exe export alias nomService file certFile o nomService est le nom du service utilis pr c demment sur le serveur L option file permet de sp cifier le nom du certificat g n r Cette commande prend par d faut le keystore pr sent dans le r pertoire du profil de l utilisateur courant La suit
12. TA ICT Mobile Doctor s Desktop Stephen Badan Multiplications des fragments par 8 470 8 3 760 octets o Envoi du bloc de 3 760 octets au client Calcul du nombre d octets restants envoyer et envoi de ceux ci octet par octet o Envoi des 5 octets restants octet par octet Il faut noter que les donn es restantes envoyer ne d passent jamais 7 octets Cette fa on de transmettre permet ainsi de garder un bon niveau de performances et d viter l erreur susmentionn e 13 3 Identifiant de s curit 13 3 1 But L identifiant de s curit permet de restreindre l acc s aux m thodes au niveau du serveur ainsi que de reconna tre les clients authentifi s de ceux qui ne le sont pas Sans autre moyen de protection une servlet n est pas restreinte d acc s Ainsi toute personne connaissant la syntaxe XML utilis e par le serveur pourrait envoyer des requ tes celui ci dans le but par exemple d acc der des donn es sensibles Il est donc n cessaire de reconna tre les requ tes l gitimes pour leur donner acc s aux m thodes s curis es et de bloquer les autres requ tes Pour ce faire lorsqu un client s authentifie correctement de mani re formelle sur le serveur ce dernier g n re deux identifiants qu il transmet ensuite au client Le premier identifiant est un identifiant de s curit pour le client lourd qui permet au client de s curit de communiquer avec le serveur de s curit Le serveur utilis
13. chu et si tel est le cas effectue les authentifications n cessaires Le d lai de d marrage des applications n est en revanche pas g r de la m me mani re Lorsqu une application d sire envoyer une requ te vers un serveur elle doit pr alablement obtenir l identifiant de s curit d applications contenu dans le client lourd Cet identifiant une fois int gr dans la requ te permet aux serveurs d applications de s assurer que l application est autoris e effectuer la requ tes C est durant l obtention de cet identifiant qu un contr le s effectue sur l application en d clenchant une demande d authentification si n cessaire Le contr le d une application est r alis en trois tapes 1 Contr le si l application qui d marre est une nouvelle application Ce contr le s effectue en v rifiant si son nom appara t dans une liste locale des applications en ex cution Si tel est le cas alors l application est autoris e et aucun des contr les suppl mentaires ci dessous n est effectu Sinon les contr les suivants doivent tre effectu s 2 Contr le si le d lai de d marrage des applications est chu Si tel est le cas alors une demande d authentification externe est effectu e 3 Contr le sur le serveur si l utilisateur est autoris utiliser l application Si tel est le cas alors le nom de l application est ajout dans la liste des applications en ex cution afin d viter les contr les suppl mentaires lors
14. donner r f rences Het 2 Tache P riodes Explications qu est ce qui a t fait et comment re drone r S Su Ajout fen tre de choix des mises jour non prioritaires et gestion de ces Gestion mises jour 1 9 SE mises jour Gestion mises jour 1 Fin du service de mise a jour et premiers tests Gestion mises jour 1 Ajout de contr les des codes hach s des fichiers et ajout d une fen tre de bienvenue Gestion mises jour 1 Ajout de la possibilit de mettre jour des applications non jar et tests approfondis Tests et corrections 1 Tests du service de mise jour et correction des erreurs rencontr es Gestion mises jour 1 Ajout de la possibilit de mettre jour des applications contenant plusieurs fichiers Total session 6 Date Du 15 10 2007 au 20 10 2007 a Temps effectu Den ee ee Suite donner r f rences oad 2 Tache P riodes Explications qu est ce qui a t fait et comment Eege Gestion mises jour 2 Fin des mises jour d applications ayant des fichiers multiples Page authentification 1 Mise en place de la structure du site et mise en place de l authentification administrateur de l administrateur Gestion du contenu de la base 2 D but de l ajout des pages de saisies pour les tables de la base de de donn es donn es Tests et corrections 1 Tests et ajout d un second identifiant de s curit pour les applications Rapport 1 R daction du rapport sur la s curit Total session 7 Date Du 22 10 2007 au
15. du serveur Page 90 129 Pr Mobile Doctor s Desktop Stephen Badan Effectuer le test 1 mais en se connectant avec le m me nom d utilisateur sur les deux appareils mobiles Aucune restriction n est existante quant au nombre de sessions ouvertes simultan ment sur un serveur par un m me utilisateur sur diff rents appareils mobiles L ex cution doit donc se d rouler normalement Aucun probl me n a t d tect Se connecter au service l aide d un appareil mobile puis essayer de se d placer entre des salles Aucune perte de connexion ne doit se produire et le client lourd doit fonctionner de mani re normale Aucun probl me n a t d tect Durant le test 3 d marrer quelques simulations d applications et laisser le programme s ex cuter durant un temps un peu plus prolong gt 2 heures Les requ tes simul es doivent s effectuer correctement et les authentifications doivent tre demand es en fonction des crit res tablis dans les param tres de s curit Aucun probl me n a t d tect Mettre jour un fichier sur le serveur lorsque celui ci est en cours de t l chargement par un client La modification du fichier sur le serveur ne doit pas tre ex cut e pendant que le fichier est en cours de transfert sur le client La mise jour du fichier doit donc tre mise en attente jusqu ce que le transfert soit termin Idem au r sultat a
16. es j ai choisi les technologies des JSP et des servlets pour impl menter le service d administration car le serveur de s curit est crit en Java ce qui simplifie les interactions entre les deux services 14 2 S curit L acc s au service d administration requiert une authentification formelle de l administrateur Dans ce but un champ a t pr vu afin que l administrateur puisse s authentifier sur le site Internet lorsqu il acc de pour la premi re fois celui ci Security Service Management Mozilla Firefox Fichier Edition Affichage Historique Marque pages Outils 2 a a https security server 8443 Server Security Service Management Home Design Contact You are not allowed to view this page Authentication Please use the menu on the right to authenticate Batninistrater dD Sign In Clear Copyright 2007 IICT This page respects the XHTML 1 0 Transitional doctype security server 8443 Proxy HEIG VD Figure 22 Fen tre principale d authentification Du point de vue technique afin de garantir qu aucune page prot g e ne puisse tre atteinte sans authentification valide le contr le de la session de l utilisateur et de sa bonne authentification a t inclus dans un fichier JSP d en t te et un fichier JSP de pied de page les deux fichiers travaillant Page 58 129 Mobile Doctor s Desktop Stephen Badan ensemble Toutes les pages JSP d sirant ensuite tre s curis es n ont qu
17. re plus d taill e les tapes suivantes sont effectu es lors de la connexion du client vers le serveur 22 1 Le client se connecte sur le serveur utilisant TLS Le client fournit au serveur la liste des algorithmes de chiffrement et de hachage dont il dispose 2 Le serveur s lectionne l algorithme de chiffrement et de hachage le plus s r qu il poss de en commun avec le client puis envoie au client sa cl publique sign e par une autorit de certification Certificate Authority CA 3 Le client peut v rifier la validit du certificat s il le souhaite aupr s de la CA puis il g n re une paire de cl s sym triques qu il enverra au serveur en les chiffrant pr alablement l aide de la cl publique du serveur 4 Le serveur re oit puis d chiffre les cl s sym triques l aide de sa cl priv e Le client et le serveur poss dent alors une paire de cl s sym triques communes qu ils utiliseront pour effectuer les changes chiffr s des donn es 13 2 2 Cr ation des certificats La marche suivre pour cr er les certificats du serveur de s curit du serveur de fichiers et du client lourd est donn e au chapitre 19 6 page 113 13 2 3 Remarque concernant l impl mentation de TLS Tout au long du projet il s est av r que la transmission de tableaux d octets g n rait parfois une erreur du type invalid padding au niveau SSL Apr s de longues recherches et essais il s est av r que cette erreur tai
18. 2 le client va tout de m me contr ler les d pendances des fichiers Comme l un des fichiers du pack 2 a t modifi lors du t l chargement du Pack 3 un message d erreur s affiche et le Pack 2 est mis jour Idem au r sultat attendu ok Si l utilisateur d cidait d annuler le t l chargement du Pack 2 alors le fichier Applicaiton1 jar serait supprim 11 Effectuer nouveau le test 10 mais en indiquant cette fois ci que le Pack 2 n est pas installable automatiquement Le fichier commonDIl dll doit tre t l charg automatiquement Comme la Pack 2 n est ensuite pas s lectionn un message d avertissement s affiche indiquant que le Pack 2 doit tre mis jour Comme le Pack 2 n est pas t l chargeable automatiquement le Pack 2 est supprim afin d viter toute erreur de compatibilit Idem au r sultat attendu 12 Restaurer les param tres de base Copier et d marrer une version plus ancienne du client lourd Le client doit t l charger la derni re version du client automatiquement sans laisser le choix d annulation Idem au r sultat attendu Page 83 129 N Lo IICT Mobile Doctor s Desktop Stephen Badan l utilisateur A la fin du t l chargement un message d avertissement de mise jour doit tre affich puis le fichier d application du client doit tre remplac et l application doit se terminer Aucun fichier te
19. 20 38 41 74 76 91 118 119 124 S SOT E ee E do diet sees 22 23 50 54 58 68 69 110 117 E DIE EE A E E ee 28 SIMS E EE ETAT E E EANES 24 36 38 124 el 10 11 14 52 53 71 89 117 124 EE 40 124 SW EE 22 118 124 SYIMD IAM EEN 21 40 T HUE 14 52 53 113 124 U MS CASE A nee ttes ana dan tam tartare abandon danses DRE ten ii enr 12 V VE 18 39 58 62 71 77 124 W WebDAV geb ee casectiasvedeaceselehsenss Se ees ege ed SNE eebe tne 23 69 91 116 124 Windows Mobile 21 22 36 40 46 75 78 92 105 111 112 118 119 X Mee heess deeg deeg deele ege essence 10 11 22 50 51 54 65 68 109 124 IER 21 Page 128 129 D ICT Mobile Doctor s Desktop Stephen Badan 23 Liste des r f rences 1 mM PS N 16 17 18 19 20 21 22 23 24 25 26 Gene Spafford s Personal Pages Quotable Spaf auteur E H Spafford lien http homes cerias purdue edu 7Espaf quotes html Java ME Technology auteur Sun Microsystems lien htto java sun com javame technology index js J2ME grows up auteur Sun Microsystems A lien http www ibm com developerworks java library j j2me Personal Profile auteur Sun Microsystems lien http java sun com products personalprofile IBM WebSphere Everyplace Micro Environment for Windows Mobile Personal Profile 1 1 auteur j lien http www handango com ampp store PlatformProductDetail jsp siteld 1827 amp jid 845XBB
20. 5 int grant directement le serveur WebDAV facilitant ainsi la mise en place de ce serveur 13 Page 23 129 TA ICT Mobile Doctor s Desktop Stephen Badan 10 Service d authentification fonctionnement th orique Le service d velopper doit poss der un service d authentification forte pour s curiser l acc s aux donn es confidentielles Une authentification forte permet de contr ler au minimum deux des l ments suivants ce que la personne sait ce que la personne poss de et ce que la personne est Chaque type d authentification poss de des avantages et des inconv nients En effectuant une authentification forte il est alors possible de profiter des multiples avantages de chaque type d authentification tout en r duisant les inconv nients de ceux ci Dans le cadre de ce projet trois types d authentification diff rents ont t d finis l authentification formelle correspond ce que la personne sait l authentification mat rielle correspond ce que la personne poss de et l authentification externe qui peut tre une combinaison de ce que l utilisateur poss de et ou de ce que l utilisateur est Ces diff rents types d authentification sont pr sent s de mani re d taill e ci dessous 10 1 Authentification formelle Ce type d authentification se base sur un mot de passe textuel simple et offre une m thode d authentification relativement s re du moment que l utilisateur est le seul con
21. Hachage MDS et ajout de l en t te appid Identifiant de s curit des applications du client lourd Figure 20 G n ration des identifiants de s curit Lien vers l image du point d interrogation 23 Page 56 129 D ICT Mobile Doctor s Desktop Stephen Badan 2 Le serveur g n re l identifiant de s curit du client 9 Le serveur d applications re oit la requ te et v rifie l identifiant lourd et l identifiant de s curit pour les applications si de s curit re u en effectuant une requ te au serveur de s curit l authentification formelle est valide Ce demier indique ensuite si l identifiant est valide ou non _ 10 Si l identifiant est valide le serveur D d applications ex cute la requ te demand e et retourne le r sultat l application cliente Serveur de s curit Serveur d applications 1 Le client envoie les 3 Le serveur renvoie les informations pour effectuer identifiants de s curit au client HE TRS Ki une v rification 3 3 i reegt te serveur en y ajoutant l identifiant de EES ome s curit des applications Client Lourd 5 L application demande l identifiant de s curit des applications au module de s curit qui va faire suivre la demande au service de gestion des authentifications Service de gestion des authentifications de s curit EES a mm E Application 6 Le service des authentifications 7 L e module de s curit fait suivre la 4
22. Idem au r sultat attendu Supprimer une application L application doit tre supprim e ainsi que les liens entre l application concern e et les fichiers qu elle contenait Les fichiers ne sont pas supprim s Idem au r sultat attendu 19 1 5 8 Tests de la gestion des fichiers Tous les tests suivants s effectuent lorsque l administrateur est authentifi Test effectu R sultat attendu R sultat observ 1 Ajouter un fichier dont le nom est gal au nom d un fichier d j pr sent sur le serveur Un message d erreur doit tre affich indiquant qu un fichier existe d j sous ce nom l Idem au r sultat attendu Ajouter un nouveau fichier dont le nom n est pas encore utilis Le fichier doit tre ajout au serveur de fichiers et ses propri t s taille code hach etc doivent tre automatiquement calcul es puis ajout es au serveur de base de donn es Idem au r sultat attendu Ajouter un fichier de petite taille sur le serveur Le fichier doit tre envoy par le navigateur de mani re correcte et doit tre re u par le serveur correctement galement Erreur le fichier re u par le serveur est vide Apr s de plus amples essais il s av re que cette erreur se produit uniquement avec des fichiers de petite taille 40 octets et moins Apr s des tests divers l origine du probleme semble tre caus e au niveau de
23. Rendezvous Jor dans RendezVous Ajouter toutes les applications ci dessus dans la liste des applications que le groupe de l utilisateur a le droit d utiliser Remplacer le fichier Client jar sur le serveur de s curit par la version nouvellement compil e Au niveau du serveur d applications il est n cessaire de lui pr ciser d acc der au serveur de s curit pour contr ler les identifiants et non une m thode locale retournant une valeur simul e Ouvrir les sources du serveur d applications Serveur_TD Ouvrir la classe LogiqueMetier java pr sente dans le paquetage servlet Modifier la constante LOCAL _EXECUTION false puis recompiler et relancer le serveur L int gration est maintenant termin e Le service devrait fonctionner correctement Remarque Les tests effectu s sur le client de s curit dans le cadre de ce projet ont t r alis s avec l application de simulation des requ tes Il n a en revanche pas t possible d effectuer de tests approfondis sur l ensemble du service regroupant le service de s curit et le service d applications car ces deux parties sont men es tre modifi es jusqu la fin du projet Le guide d int gration des services est donc donn titre d information seulement Page 110 129 DQ Mobile Doctor s Desktop Stephen Badan 19 5 Installation des outils de d veloppement Ce guide explique comment installer les outils de d ve
24. Repr sentation graphique du sch ma Xa 51 Figure 20 G n ration des identifiants de s curit 56 Figure 21 Cr ation et change des identifiants de s curit 57 Figure 22 Fen tre principale d authentification sisi 58 Figure 23 Structuration du site Internet d administration 60 Figure 24 Sch ma conceptuel de la base de donn es ss 61 Figure 25 Sch ma conceptuel de la base de donn es ss 63 Figure 26 Diagramme des classes du client 67 Figure 27 Diagramme des classes du serveur iii 70 Figur 28 M cro calendrierF el sssssssunsisisissssesssresmesseresderuenes n ie pia ea iaeio iadaa a ieee EESE 71 Figure 29 Macro calendrier initial iiisisssssssssseeeeeeeeeseeeeeeeesseeeeeeeennnes 71 Figure 30 Graphique des dur es de chaque t che 72 Figure 31 Micro calendrier d tails 73 Figure 32 Micro calendrier g n ral 73 Figure 33 D marrage du client lourd iii 92 Fig r 34 Page d accueil sie s scccsavsscceaccessetececsccatectusdassnessanesseseugedsae ghesss2eeseudesaseaneds Seege 92 Figure 35 Mise jour du client lourd is 93 Figure 36 Fin de la mise jour du client lourd ss 93 Figure 37 Avertissement de red marrage du client lourd ss 93 Figure 38 Mise jour de la libraire d authentification ss 93 Figure 39 Authentification mat rielle sise 94 Figure 40 Liste de choix des utltsateurs iii 94 Figure 41 Fen tre d authenti
25. T Authentification rapide iris o Falsification difficile MA N b R TINE Dos i sp r SIGNATURE 10 3 1 2 Inconv nients de l authentification biom trique dige Empreinte digitale Le taux d erreurs lors de l authentification n est pas voix nul surtout dans les m thodes d authentification encore exp rimentales La pr cision de as i opt gt Dep PR CISION l authentification est donc un facteur tr s important Figure 6 Classification des m thodes et une authentification moyennement pr cise ne d authentification biom trique devrait tre utilis e qu en collaboration avec d autres m thodes d authentification Les scanners lecteurs ou autres dispositifs d authentification ainsi que les pilotes ou logiciels les accompagnant sont actuellement encore chers en raison de leur diffusion restreinte Les m thodes d authentification sont souvent sensibles aux conditions dans lesquelles l utilisateur se trouve pour une authentification du visage l clairage ext rieur est un facteur important ainsi que la position de la t te Le taux d erreurs lors d authentifications biom triques est donc plus lev que pour d autres types d authentification 10 3 2 Authentification g ographique Cette authentification permet de localiser g ographiquement la fois l utilisateur et son appareil mobile Page 25 129 TA ICT Mobile Doctor s Desktop Stephen Badan et de contr ler la distance qui les s pare Lorsque la distan
26. a une alerte si elle se d clarait au milieu de la nuit par exemple Il faut donc pr voir ce type d alertes et la possibilit de contourner temporairement l authentification formelle lourde afin de pouvoir r pondre l alerte Dans ce cas l le m decin doit pouvoir choisir de s authentifier avec l authentification externe ce qui lui donnerait acc s au service pour un certain temps typiquement 5 minutes Ensuite le service demanderait nouveau l authentification formelle qui ne pourrait alors plus tre contourn e Ce contournement doit par ailleurs pouvoir tre d sactiv par l administrateur du service si tel est son souhait en raison de la l g re diminution de s curit qu un tel vitement peut engendrer En r sum apr s une p riode prolong e 4 heures le service requiert Authentification formelle peut tre contourn e pour une dur e de 5 minutes par Page 27 129 gt TA ICT Mobile Doctor s Desktop Stephen Badan l authentification externe Authentification mat rielle 10 4 4 Echecs d authentifications Un chec d authentification peut survenir de temps autre en raison d une erreur de frappe pour l authentification formelle ou une erreur de lecture lors de l authentification externe dans le cas d une authentification biom trique par exemple En revanche un trop grand nombre d checs pourrait signifier qu une personne est en train d essayer de trouver le mot de passe par force
27. attributeFormDefault unqualified gt lt xs element name message type messageContent gt lt xs complexType name messageContent gt lt xs choice gt lt xs element name methodcall type typeMethod gt lt xs element name methodReturn type typeMethod gt lt xs choice gt lt xs complexType gt lt xs complexType name typeMethod gt lt xS Sequence gt Page 50 129 Kl TA ICT Mobile Doctor s Desktop Stephen Badan lt xs element name methodName type xs string gt lt xs element name parameter type typeParameter minOccurs 0 maxOccurs unbounded gt lt xs Sequence gt lt xs attribute name id type xs string use required gt lt xs complexType gt lt xs complexType name typeParameter gt lt XS sequence gt lt xs element name parameterName type xs string gt lt xs element name type type xs string gt lt xs element name value type xs string gt lt xsS sequence gt lt xs complexType gt lt xs schema gt L quivalent graphique du sch ma est le suivant messageContent typeMethod attributes methodCall methodilame p versace parameterlame Le EH type typeMethod attributes methodReturn D methodilame Fparametertlame Ftype
28. authentification formelle car cela engendrerait une seconde authentification formelle rempla ant l authentification externe Ce choix pourra tre param tr par l administrateur du service f 10 4 6 D sactivation de l vitement d authentification formelle Le contournement temporaire de l authentification formelle peut galement tre d sactiv Ce choix pourra tre param tr par l administrateur du service sou P Pour plus d informations voir le chapitre 19 3 3 page 101 Pour plus d informations voir le chapitre 19 3 5 page 102 Pour plus d informations voir le chapitre 19 3 6 page 103 Pour plus d informations voir le chapitre 19 3 5 page 102 Page 28 129 Pr Mobile Doctor s Desktop Stephen Badan 10 4 7 R capitulatif des r gles d authentification La description d taill e des diff rentes authentifications peut tre r sum e de la mani re suivante demande Authentification formelle Trois authentifications erron es maximum Authentification mat rielle Une authentification erron e maximum Authentification externe par exemple biom trique Cinq authentifications erron es maximum Au d marrage du client lourd Permet l authentification de l utilisateur Toutes les 4 heures Protection lors de la non fermeture du client lourd afin d viter que cette authentification ne soit faite qu une seule fois Cette dur e est param trable par l administrateur
29. brute De ce fait il faut configurer des seuils de limite pour le nombre d authentifications erron es Ces seuils sont donn s ci dessous Authentification formelle e Trois erreurs maximales Si ce seuil est d pass l acc s au service pour cet utilisateur est bloqu et doit tre d bloqu par l administrateur du service Authentification mat rielle e Aucune erreur n est tol r e ici Si l appareil mobile choue l authentification mat rielle cela signifie que l appareil n est pas autoris utiliser ce service Authentification externe s L authentification externe n tant pas une authentification extr mement pr cise si l authentification biom trique est utilis e par exemple il se peut qu elle g n re quelques authentifications erron es Un seuil de cinq authentifications erron es est donc raisonnable Si ce seuil est d pass l acc s au service pour cet utilisateur est bloqu et doit tre d bloqu par l administrateur du service Les seuils d checs d authentifications des authentifications formelles et externes peuvent tre param tr s par l administrateur ind pendamment pour chaque groupe d utilisateurs 10 4 5 D sactivation de l authentification externe Dans le cas o l appareil mobile ne dispose pas d un syst me d authentification externe toutes les authentifications externes sont remplac es par des authentifications formelles Il n est alors plus possible d viter une
30. courage pour faire ce travail et avec qui j ai pu discuter librement avec infiniment de plaisir et enfin Julien Probst et Gr goire Wuillamoz avec qui le travail en quipe a t tr s agr able et tr s instructif Je remercie galement chaleureusement tous les tudiants et professeurs que je n ai pas cit s et qui ont fait de mes tudes un moment tr s plaisant passer en particulier les tudiants de la classe TR 2007 ainsi que les professeurs de l IICT qui ont donn leur cours avec beaucoup d entrain et de clart Enfin un tr s grand merci ma famille qui m a toujours soutenue Page 3 129 TA ICT Mobile Doctor s Desktop Stephen Badan 2 Cahier des charges 2 1 R sum du probl me Dans le cadre de la plate forme iminet un nombre important de fonctions sont impl ment es sur le mod le client serveur avec un serveur d applications JBoss et des clients l gers Internet Explorer Firefox abritant les fonctions d interfacage avec l utilisateur Pour fonctionnel et flexible que soit ce mod le il montre ses limites d s que l on veut impl menter des applications plus gourmandes en interactions avec l utilisateur D autre part d s que les applications deviennent multi sessions l utilisateur se voit p nalis par les contraintes de s curit qui lui imposent de r introduire son mot de passe pratiquement a chaque nouvelle interaction avec le serveur Les facilit s bas es sur les cookies ou
31. court et d un contr le d application effectuent des op rations tr s semblables Cela s explique par le fait que si aucune application n est d marr e ou si une application n envoie pas de requ tes au serveur des contr les p riodiques doivent tre effectu s afin de garantir la s curit d acc s l appareil mobile En revanche si de nouvelles applications sont ouvertes r guli rement alors les authentifications externes d coulant des contr les des applications sont suffisantes et ne requi rent pas d authentifications p riodiques externes suppl mentaires C est pourquoi ces deux types d authentification r initialisent les m mes d lais Page 33 129 vg Toa KA Mobile Doctor s Desktop Stephen Badan Enfin la liste contenant les noms des applications d marr es est r initialis e apr s chaque authentification dans le but d obliger le client renouveler r guli rement les contr les de chaque application 11 1 2 Illustrations de la gestion des demandes d authentifications La figure 7 Diagramme temporel de la gestion des authentifications en situation normale indique le d roulement des demandes d authentification dans le cas suivant D lai p riodique court 60 secondes D lai p riodique long 130 secondes D lai d vitement des authentifications 30 secondes Aucune application n est d marr e apr s le d marrage du gestionnaire d authentifications L authentificati
32. de la prochaine requ te En revanche si l application n est pas autoris e alors aucun identifiant de s curit n est retourn cette application Dans ce cas tous ces contr les s effectueront nouveau si une nouvelle requ te est effectu e 8 9 L explication d taill e du fonctionnement de cet identifiant est donn e au chapitre 13 3 la page 54 Une application qui est ferm e et ouverte nouveau n est pas consid r e comme une nouvelle application moins qu elle ait t supprim e de la liste des applications en ex cution suite une authentification et qu elle ait t rouverte apr s le d lai de d marrage des applications Page 32 129 vg Zen o ICT Mobile Doctor s Desktop Stephen Badan ult rieurement par la m me application Il faut encore pr ciser qu une seule authentification peut tre ex cut e simultan ment Cela induit que si une application d sire obtenir l identifiant de s curit pendant qu une authentification est en cours ou en attente alors l obtention de cet identifiant est mise en attente jusqu l aboutissement de l authentification Comme les identifiants de s curit sont modifi s r guli rement apr s chaque authentification formelle cette mise en attente permet d viter d obtenir des identifiants obsol tes ou invalides Remarque Une application a le choix de ne pas utiliser l identifiant de s curit dans des cas exceptionnels ce qui enl verait alors
33. donn es ce qui peut devenir probl matique dans des environnements avec des r seaux d bit tr s faible La seconde solution est bas e sur le chiffrement de toutes les donn es l aide de cl s asym triques sur une carte m moire par exemple Un tel chiffrement utiliserait une cl publique pour chiffrer les donn es et qui serait lisible et accessible tous et une cl priv e stock e sur le serveur permettant de d chiffrer les donn es Ainsi toutes les donn es stock es sur le client seraient chiffr es l aide de la cl publique En cas de r quisition du t l phone ou Page 74 129 ZS IICT Mobile Doctor s Desktop Stephen Badan du PDA les donn es ne seraient pas lisibles et le seul moyen de les d chiffrer serait de s authentifier sur le serveur afin de r cup rer la cl priv e Malheureusement l algorithme de chiffrement asym trique requiert une grande puissance de calcul ce qui est peu adapt des appareils mobiles La solution suivante est une combinaison des deux premi res solutions propos es Cette solution serait bas e sur un chiffrement des donn es mais de mani re sym trique ce qui signifie que l on utilise une m me cl pour chiffrer et pour d chiffrer II faut alors s assurer que cette cl reste confidentielle en la transf rant du serveur au client chaque connexion de mani re s curis e et en ne la gardant qu en m moire vive par exemple Le client lourd devrait alors res
34. du m decin est contenue dans cette liste ihn d adresses Si l adresse est contenue dans la liste l authentification Figure 14 Authentification est valide Dans le cas contraire l authentification est consid r e externe l aide de la comme invalide Le client lourd tente alors de nouveaux balayages technologie Bluetooth jusqu ce que le compte de l utilisateur soit bloqu par le serveur 11 5 R sum des types d authentification impl ment s Authentification formelle cette authentification est effectu e par la saisie du nom de l utilisateur et de son mot de passe Authentification mat rielle cette authentification ou plus pr cis ment identification r cup re le num ro IMEI du PDA Phone qui permet de l identifier de mani re unique Cette identification est difficilement falsifiable Authentification externe la r alisation de ce projet n inclut pas l impl mentation d une authentification externe en raison notamment du manque de mat riel compatible pour cr er une authentification biom trique L architecture du syst me est en revanche construite de mani re pouvoir ajouter tr s facilement une m thode d authentification externe ult rieurement Une authentification externe fonctionnant avec la technologie Bluetooth a toutefois t impl ment e titre d exemple afin de d montrer une utilisation possible d une telle authentification Page 41 129 D Gres Mobile Doctor s Desktop Stephen Badan
35. du service Le temporisateur est remis sa valeur initiale pour toute authentification qui aurait t faite durant l intervalle des 15 minutes entre deux authentifications externes Remarque exemple Ces diff rents d lais sont donn s titre informatif et peuvent tous tre modifi s par l administrateur du service afin de mieux correspondre aux crit res de s curit souhait s Il est noter que les d lais d authentifications externes donn s ci dessus sont adapt s une authentification biom trique requ rant une interaction avec l utilisateur Dans le cas d utilisation d une authentification externe n cessitant moins d interaction il est conseill de r duire le d lai de 15 minutes 2 minutes par Page 29 129 Mobile Doctor s Desktop Stephen Badan 10 5 Exemples de sc narios d utilisation Afin d illustrer les r gles d authentification deux exemples sont pr sent s ci dessous l un lors d une utilisation normale l autre dans une situation plus probl matique L authentification externe est ici de type biom trique 10 5 1 Utilisation normale 8h00 du matin e Le m decin allume son appareil mobile et ouvre le client lourd bureau mobile D s l ouverture du programme l authentification mat rielle est activ e afin d authentifier l appareil mobile Une fois l appareil v rifi et valid une authentification formelle est demand e au m decin Celui ci saisit son m
36. est pas t l chargeable automatiquement affichage d un message d avertissement et suppression de l application en fonction de sa cat gorie Figure 18 Diagramme d activit s des mises jour et de l installation des applications Page 49 129 Stephen Badan D TA ICT Mobile Doctor s Desktop Stephen Badan 13 Communications entre le client lourd et le serveur 13 1 Format des messages Au niveau des changes des messages entre le client et le serveur il existe deux solutions principales les sockets ou les services Web avec XML par exemple Les sockets offrent une bonne interaction entre le client et le serveur car il est possible pour le serveur d effectuer des requ tes vers le client si une socket a t tablie dans les deux sens Bien qu une servlet avec XML ne permette pas une telle interaction l infrastructure pour g rer les connexions est moins lourde que pour les sockets car les servlets fonctionnent sur la base d un serveur Web qui g re lui m me les connexions Comme il n est pas n cessaire que le serveur initie des connexions vers le client dans le cadre de cette partie du projet la solution des servlets avec XML est retenue Du c t du serveur JAXB Java Architecture for XML Binding est une solution de SUN qui permet d effectuer la conversion entre les classes Java et un document XML tr s ais ment et automatiquement Cette technologie requiert qu un sch ma de type XML Schema soit cr
37. informer sur les technologies disposition et d tudier la faisabilit du cahier des charges dans le but de le red finir si n cessaire Une fois cette tude termin e il s agissait de concevoir les sch mas du service et de planifier les t ches effectuer dans le cadre du travail de dipl me Aucune impl mentation des fonctionnalit s n a cependant t effectu e durant le travail de semestre moins que celle ci n ait t r alis e qu des fins de tests de faisabilit Le pr projet de dipl me a ainsi permis de d finir pr cis ment les t ches effectuer dans le cadre du travail de dipl me 6 2 Travail r aliser lors du projet de dipl me Le projet de dipl me comprend la r alisation des t ches d finies lors du travail de semestre Deux types de t ches ont t d finis les t ches prioritaires qui doivent absolument tre termin es d ici la fin du projet et les t ches optionnelles qui peuvent apporter de nouvelles fonctionnalit s mais qui ne sont r alis es que si le temps le permet 6 2 1 T ches prioritaires effectuer Cette liste de t ches d finit de mani re tr s pr cise les diff rentes t ches effectuer obligatoirement T ches effectuer au niveau du client lourd e Pour tous les services o Impl menter l envoi le traitement et la r ception de documents XML l aide d un parseur XML e Service de mise jour e Impl menter la r ception de fichiers Impl m
38. l appareil mobile le signale L inconnu essaie de s authentifier de mani re biom trique mais choue les 5 authentifications Le service est bloqu et l inconnu d cide de retourner l appareil mobile au secr tariat afin qu il soit restitu au m decin 11h30 2 Le m decin r cup re l appareil mobile II va voir le responsable du service afin de lui expliquer la situation pour que son compte soit nouveau d bloqu Le m decin doit alors red marrer l application et recommencer les tapes d authentifications 12h50 Le m decin veut consulter quelques fiches de patients et s authentifie de mani re biom trique puis il pose l appareil mobile sur une table 12h53 e Dans un moment d inattention du m decin une personne vole l appareil mobile Cette personne ouvre rapidement alors les applications B et C 12h56 e L inconnu veut ouvrir l application D mais une authentification biom trique est requise car les cinq minutes entre l ouverture de la premi re application et l ouverture de cette application sont pass es Face cette demande l inconnu repose l appareil mobile sur l une des tables et s en va Page 31 129 TA ICT Mobile Doctor s Desktop Stephen Badan 11 Service d authentification r alisation pratique Cette partie explique comment le service de gestion des authentifications a t impl ment dans le client lourd 11 1 Service de gestion des authentifications En se r f ra
39. lu L avantage principal d utilisation d un serveur WebDAV par rapport un stockage simple de fichiers dans un dossier est la gestion des acc s concurrents qu offre WebDAV Le second avantage est que le serveur de fichiers est ind pendant du serveur de s curit Il serait donc possible d utiliser deux serveurs physiques distincts l un pour la gestion de la s curit le second pour le stockage des fichiers Il est noter titre d information que le projet Slide a tr s r cemment t abandonn par Jakarta le 3 novembre 2007 au profit d une nouvelle solution nomm e Apache Jackrabbit 10 11 9 2 4 Serveur Web Le serveur Web utilis dans ce projet est bas sur la solution Apache Tomcat d velopp e par la fondation Apache Software Foundation Tomcat tait la base un serveur ind pendant d velopp par Jakarta et impl mentant les sp cifications des servlets et des JSP uniquement puis ce serveur a t int gr au serveur Web Apache afin de supporter les pages Web traditionnelles Apache est le serveur Web le plus r pandu sur Internet actuellement avec un taux d utilisation de 47 73 octobre 2007 12 Ce serveur Web offre ainsi les fonctionnalit s correspondant parfaitement aux exigences de ce projet Il offre par ailleurs aussi un syst me d ajout et de suppression d applications Web simple d utilisation et performant Enfin ce serveur est gratuit d utilisation La version utilis e dans ce projet est la version
40. marrage t r initialis d applications apr s l authentification externe 8 D marrer une application peu Comme l authentification Idem au r sultat apr s une authentification externe vient d tre ex cut e le attendu ok externe de contr le p riodique d lai de d marrage des court terme applications est r initialis et aucune nouvelle authentification n est requise ce moment l 9 Idem au test 9 mais d marrer Une authentification externe est Idem au r sultat une nouvelle application 40 requise pour l ouverture de la attendu ok secondes apr s une nouvelle application car le d lai authentification externe de d marrage des applications provenant d un contr le est chu p riodique court 10 D marrer plusieurs Durant une authentification Idem au r sultat applications simultan ment et contr ler qu elles soient mise en attente lors d une demande d authentification toutes les demandes d identifiants de s curit sont mises en attente attendu ok Page 79 129 Mobile Doctor s Desktop Stephen Badan 19 1 3 Test des services d authentification 1 Les tests suivants ont t r alis s avec les d lais donn s ci dessous Nombre maximal d authentifications formelles erron es 3 Nombre maximal d authentifications externes erron es 5 Test effectu R sultat attendu R sultat observ Lors d une authentification formelle saisir 3 mo
41. o se trouve UIQ3SDK et cliquer sur Next puis Finish D veloppement pour une plateforme Windows Mobile Suivre le point 19 5 1 T l charger et installer Virtual Machine Network Driver for Microsoft Device Emulator netsvwrap msi http www microsoft com downloads details aspx familyid DC8332D6 565F 4A57 BE8C 1D4718D3AF65 amp displaylang en T l charger un mulateur de plateforme Windows Mobile V1Emulator zip et efp msi http www microsoft com downloads details aspx Familyld C62D54A5 183A 4A1E A7E2 CC500ED1F19A amp displaylang en T l charger et installer WebSphere Everyplace Micro Environment 6 1 1 CDC 1 1 Foundation 1 1 Personal 1 1 pour Windows Mobile 5 0 http www 128 ibm com developerworks websphere zones wireless weme_eval_runtimes html T l charger et installer Microsfot Active Sync 4 5 setup msi http www microsoft com downloads details aspx displaylang fr amp FamilylID 9E641C34 6F7F 404D A04B DCO9F8141141 Ouvrir ActiveSync aller dans Fichier Param tres de connexion cocher Autoriser la connexion Page 111 129 ZS IICT Mobile Doctor s Desktop Stephen Badan l un des l ments suivants et s lectionner DMA 7 Aller dans le menu d marrer puis Microsoft Windows Mobile 5 0 MSFP Emulator Images et ex cuter Pocket PC Coldboot Une fois d marr ex cuter Device Emulator Manager s lectionner le seul appareil disponible et choisir cradle
42. permettre l administrateur d en prendre connaissance et d essayer de rem dier ces probl mes si n cessaire Page 75 129 TA ICT Mobile Doctor s Desktop Stephen Badan 17 4 Probl mes connus Certains probl mes d cel s lors des tests n ont pas pu tre corrig s car ceux ci ne sont pas engendr s par des erreurs au niveau de l application mais par des erreurs au niveau des logiciels ou syst mes tiers utilis s Ces probl mes sont rappel s ci dessous La mise en veille ou la d sactivation du r seau sans fil du PDA lorsque celui ci communique avec le serveur peut engendrer un blocage de la communication et du client lui m me Le client lourd r agit toutefois encore aux actions de l utilisateur ce qui permet de le fermer si n cessaire Ce probl me est d une non d tection de l erreur par Java En outre en raison de l impossibilit de mettre le PDA en veille l utilisation de programmes tiers pour le verrouillage du PDA est n cessaire afin d viter des actions impr vues si celui ci se trouve dans un tui souple et qu un objet entre en contact avec l cran par exemple Il n a malheureusement pas encore t possible de trouver un programme satisfaisant permettant de r soudre ce probl me L envoi sur le serveur de fichiers plus petits que 50 octets peut poser des probl mes avec les navigateurs Firefox et Safari lorsque la connexion utilis e est s curis e Les fichiers re us par le serveur s
43. prenant garde au fait que les espaces contenus dans le chemin d acc s vers le serveur emp chent son d marrage Ce r pertoire sera nomm lt RepServeur gt pour la suite de ce guide D marrer le serveur Web en ex cutant lt RepServeur gt bin startup bat 19 7 1 4 Configuration du serveur de fichiers Il est n cessaire de configurer le serveur de fichiers afin de lui sp cifier des droits d acc s Pour ce faire le programme Java DAVExplorer est utilis D compresser le fichier DAVExplorer latest zip pr sent dans le r pertoire lt Repinstall gt Web Server Ex cuter le fichier DAVExplorer bat gt Se connecter au serveur l aide de l adresse localhost 8080 slide et en sp cifiant le nom de l utilisateur root et le mot de passe root Se rendre dans le dossier users au niveau du serveur de fichiers Supprimer tous les utilisateurs l exception de l utilisateur root S lectionner l utilisateur root puis dans l onglet View s lectionner View Modify Properties gt gt S lectionner le champ password et modifier la valeur root par le mot de passe souhait Dans le cadre de ce projet le mot de passe est security Sauvegarder les changements 19 7 1 5 Configuration du serveur Web Sile serveur Web est encore en cours d ex cution fermer le serveur Web Ouvrir le r pertoire lt RepServeur gt conf tomcat users xml Remplacer le contenu de ce fichier par le contenu suivant o pas
44. r alisation de ce projet a t passionnante le domaine de la s curit sur des appareils mobiles tant encore peu explor Il a t possible de trouver diverses solutions afin d obtenir une application fonctionnelle en fin de projet m me si le d veloppement sur une telle plateforme n a pas toujours t ais en raison de fonctionnalit s parfois manquantes sur celle ci Il n en reste pas moins que la s curit reste un domaine extr mement vaste et complexe le d veloppement des nouvelles technologies lui assurant avec certitude un tr s bel avenir Yverdon Les Bains le 12 12 2007 Stephen Badan Page 77 129 Kl TA ICT Mobile Doctor s Desktop Stephen Badan 19 Annexes 19 1 Tests 19 1 1 Remarques g n rales Tous les tests qui suivent ont t r alis s avec les configurations suivantes Client mobile o HTC P3300 e Windows Mobile 5 1 build 342 e Processeur ARM cadenc 200 MHz e Utilisation du Wi Fi sur un r seau sans fil chiffr l aide du protocole WPA2 Wi Fi Protected Access et du Bluetooth e Machine virtuelle IBM J9 PPRO 11 e Client lourd version 1 0 Serveur o Dell Optiplex GX620 e Processeur Pentium D cadenc a 3 GHz e 1Gb de RAM o R seau Ethernet 100 Mb s e Windows XP Professionnel Service Pack 2 version 5 1 2600 e Apache Tomcat version 5 0 28 a Machine virtuelle Java Sun 1 6 0_03 b05 19 1 2 Test du service de gestion des demandes d authentification Les t
45. updatalsPriory pubiic boolean removsFile Sting flename pubic AppicationFe Gels public AnpicationFile 0 oetUnattibuted test pube Boolean macthySecurysetings SecuilySetings settings publieBoslean addSecuriySetinas SecuriyStings satings pubie String removesecunySetings intiasetings putte SozurtySotinge 9 gotsacunt SetingeLiet public Vitualvachinef0 3 getvituelVachines public VitualMachino get rualachino aach public Boolean addVirtualMachine VitualMechine vm pubie Boolean maciyvirtwaiacnina Vituallacrine vn public OperatineSystem 0 removeVitualllachine inti pubie Programa 7 getPiagramst publie Proatam getProgram nti Program public Programa geiPiagrams inid raup publieBoolean mocyProgramt Program program public OpralinuSysiem 0 1 emovePrograryin program pune boolean acaFleToPiogram intel Im prograrnid public ApptcaticnFite 0 getProgramFiest nt dProaram ube ApplcationFe 0 getonaimbutedrogramFies int isProgram publie boolean removerileFromProaram int eld nt prosrarid DEENS CEET publ Boolean addPrograrnt Program oracram public boolean acdapalictanToGrounC in groupl int programi pukit boolean romovaApplieationFremG rou nt groupie int prograrnid public Boolean addoperaingSysteme OperatingSystem os pubic Boolean maciyOperatings stem Gperatingsystem 08 public MobileDevicel0 remov OperatinoSystem intosla ServistUplozd Fr
46. 129 Pr Mobile Doctor s Desktop Stephen Badan 19 15 11 Tests de la gestion des param tres de s curit Tous les tests suivants s effectuent lorsque l administrateur est authentifi Test effectu R sultat attendu R sultat observ 1 Cr er un nouvel ensemble de le nom d un ensemble d j existant sur le serveur param tres de s curit portant Un message d erreur doit tre affich indiquant qu un ensemble de param tres de s curit avec ce nom existe d j Idem au r sultat attendu 2 Cr er un nouvel ensemble de nouveau nom param tres de s curit avec un Le nouvel ensemble de param tres de s curit doit tre cr Idem au r sultat attendu 3 Choisir de modifier un ensemble de param tres de modifications s curit puis modifier certains champs et cliquer sur cancel Les valeurs des champs doivent tre restaur es leur valeur d origine Idem au r sultat attendu 4 V rifier que le contr le des champs s effectue correctement pour chaque champ du formulaire Une erreur doit tre affich e si un champ est vide ou invalide indiquant quel est le champ concern Idem au r sultat attendu 5 Supprimer un ensemble de param tres de s curit qu un ou plusieurs groupes utilisent Une erreur doit tre affich e indiquant le nom des groupes qui doivent tre supprim s avant de pouvoir supprimer l ensemble des p
47. 26 10 2007 a Temps effectu me nee de Suite donner r f rences ed 2 Tache P riodes Explications qu est ce qui a t fait et comment Ee resis s Gestion du contenu de la base 3 Suite de l ajout des pages de saisies pour les tables de la base de de donn es donn es Envoi applications vers le Impl mentation de l envoi des fichiers vers le serveur et gestion du serveur pour le service 1 stockage des fichiers sur le serveur de fichier et des informations sur les d administration fichiers dans la base de donn es Gestion du contenu de la base 1 Fin de l impl mentation de la gestion du contenu de la base de donn es de donn es Rapport 1 R daction du rapport sur les mises a jour Total session 6 Date Du 29 10 2007 au 03 11 2007 a Temps effectu paye SE Suite donner r f rences Said 2 Tache P riodes Explications qu est ce qui a t fait et comment TEE Tests et corrections 1 Contr le et corrections afin que le site de gestion du serveur soit conforme a XHTML 1 0 transitional e Corrections multiples dans le code au niveau des termes utilis s et tests Tests et corrections 1 A de l ensemble du serice Gestion du contenu de la base 1 Externalisation de la configuration du serveur dans un fichier XML et dans de donn es la base de donn es Tests et corrections 1 Ajout de la fonctionnalit d authentification externe l aide d un autre appareil bluetooth proximit Corrections de la partie du service des authentifications
48. 40 60 02 20 60 27 Ananas al ANS TX SIUAWNIOp ap uondasga Ya jUAWSYE A oaug 20 60 02 20 60 21 Bo uap a ans IW squawn20p ap uoRdaze 72 Maueren oan o 20 60 Z 20 60 21 saenu suoeqUaWaldw d 4 4 4 d a a p a a H al d D d d H d d d 4 4 4 e 4 z E d a d a H a d al al d RH d d 4 d d d d d 2 sd se vd ed ze v 1 Figure 31 Micro calendrier d tails C aloud go gt Ge ral g n ra Figure 32 Micro calendrier Page 73 129 TA ICT Mobile Doctor s Desktop Stephen Badan 17 2 Retour sur le cahier des charges Les taches prioritaires initialement pr vues dans le cahier des charges ont toutes t r alis es et ce sans n cessiter de changement au niveau des solutions utilis es Au niveau des t ches optionnelles la r alisation de l interruption d un t l chargement a galement pu tre r alis e sans probleme particulier En revanche la possibilit de mettre a jour des applications en cours d utilisation du client lourd est une fonctionnalit dont l impl mentation aurait pos un certain nombre d obstacles qu il n aurait pas t possible de r soudre dans le cadre de ce travail de dipl me En effet contr ler une application en calculant son code hach est une op ration qui n cessite une grande pui
49. 68 69 79 84 88 108 115 117 124 C CA EE 53 119 124 CDC css ssusckiicodssin sesh cbvedesaysvacnscagstasisousseasasds vanacs lt dassadesase taestasatedeieestuws ereseauanedea taskee 20 21 36 38 111 112 124 CrN a e ccs rates st tes lens css cesses EES EE deed 24 36 53 108 109 113 114 117 119 124 e 11 18 38 39 50 60 65 66 68 69 109 110 RRE 20 124 Code Nache EG 37 38 44 47 55 62 69 74 84 88 106 Ree 18 69 124 Ee leegent deeg eege deer Ee tes geed 60 124 D D lais naiss 27 29 32 35 43 44 55 62 63 66 77 81 85 94 99 102 103 106 107 RTR 38 39 82 124 G EE 36 124 H Le NOTE 22 60 124 I IB E 21 22 41 78 104 112 114 IME E EEEE EEE AEE A N E TEA 36 39 41 54 55 61 65 66 69 86 103 MOCE errr 8 12 16 37 42 44 62 65 74 75 93 95 106 Interface Bra PM UC 21 65 66 79 91 elle Le EE 53 71 J GE 21 41 78 104 112 118 119 E 40 124 EU E 22 111 124 EVT 20 22 36 38 50 113 114 124 Java EEN 20 22 38 124 JAX B reaa dE dreet EEN EE AEN dns sinsa tes eege 11 22 50 68 124 TE 21 22 36 39 41 124 EE 22 23 58 59 69 124 M ue 41 75 80 101 124 Machine virtuelle 21 36 38 41 46 47 53 58 62 78 81 84 87 91 98 104 105 114 117 118 ue le E 4 18 37 39 47 61 63 69 119 120 124 MV e 18 124 Matleed 23 115 Page 127 129 gt TA ICT Mobile Doctor s Desktop Stephen Badan P Eh ebe vacate nee estat sco Eeer de eebe 4
50. 6XEB86F96293ED2FC2313X19E7 amp platformid 2 amp productType 2 amp catalog 0 amp amp sectionld 0 amp productld 204 403 Site officiel de SWT auteur The Eclipse Foundation lien http www eclipse org swt Standard Widget Toolkit auteur Wikipedia lien http en wikipedia org wiki Standard_ Widget Toolkit XML auteur Wikipedia lien http en wikipedia org wiki xml Caract ristiques officielles de MySQL auteur MySQL AB lien MysaL AB Jakarta Slide auteur Wikipedia lien http en wikipedia org wiki Jakarta_ Slide WebDAV auteur Wikipedia lien http en wikipedia org wiki WebDAV Netcraft auteur NETCRAFT LTD lien http news netcraft com Apache Tomcat auteur Wikipedia lien http en wikipedia org wiki Apache tomcat Biom trie et Authentification auteur Djamila Mahmoudi lien http ditwww epfl ch SIC SA publications FI00 fi sp 00 sp 00 page25 html GSME proposals regarding mobile theft and IMEI security auteur The European interest group of the GSM Association lien http www gsmworld com gsmeurope documents positions gsme proposals mobile thefts imei_security pdf Windows Mobile 5 0 SDK for Pocket PC auteur Microsoft lien https www microsoft com downloads details aspx familyid 83A52AF2 F524 4EC5 9155 717CBESD25ED amp displaylang en Fingerprint SDK Biometric Recognition Library auteur Griaule lien http www griaule com page en us grfinger fingerprint sdk Building Biometric Authent
51. 9 1 4 Echange de messages Les changes des messages entre les clients et le serveur s effectuent l aide de fichiers XML La technologie XML eXtensible Markup Language est bas e sur le langage SGML Standard Generalized Markup Language et permet de repr senter des donn es l aide de balises textuelles La structure de ces balises est d finie par l utilisateur par l interm diaire d un sch ma XSD appel XML Schema 8 L utilisation de fichiers XML permet de structurer les informations envoyer afin que celles ci puissent tre extraites facilement au moment de la r ception des fichiers La cr ation et la lecture de ces fichiers sont possibles l aide d un parseur XML Au niveau du serveur le parseur XML utilis est JAXB Java Architecture for XML Binding qui permet de traduire automatiquement les documents XML en objets Java et vice versa Au niveau du client le parseur manuel kXML2 est utilis car JAXB n est pas disponible pour Java ME Les d tails concernant le fonctionnement de ces parseurs la structure du sch ma XML et des exemples de fichiers sont donn s dans le chapitre 13 1 page 50 9 2 Au niveau du serveur 9 2 1 Servlets et JSP Le serveur utilise le langage Java EE 5 Java Enterprise Edition version 5 de Sun Microsystems permettant de cr er des servlets et des JSP La technologie Java au niveau du serveur garantit une bonne gestion de la mont e en charge du serveur et permet une bonne struct
52. Client 14 11 07 862Ko start 26 10 07 1200 Haut E Menu Figure 33 D marrage du client lourd 19 2 2 Page d accueil La page d accueil permet de v rifier le nom et la version du client lourd Cette page est affich e pendant 3 secondes avant d tre ferm e et remplac e par la fen tre de gestion des mises jour AA D marrer sag Yx x X Mobile client version 0 98 Figure 34 Page d accueil 19 2 3 Mise jour du client lourd Le client lourd v rifie chaque d marrage si sa version est valide par rapport la version stock e sur le serveur Si tel n est pas le cas le client lourd t l charge la nouvelle version puis affiche un message indiquant qu un red marrage est n cessaire la fin de l installation Il suffit alors de cliquer sur le bouton ok puis d attendre la fin de l installation Un message s affiche dans la console lorsque l installation est termin e et que l utilisateur peut fermer et ouvrir nouveau l application Les figures 35 36 et 37 repr sentent les diff rentes tapes lors de la mise jour du client lourd Page 92 129 DQ Mobile Doctor s Desktop Stephen Badan 1 Update manager a x x x Update process in progress Receiving the client program Downloading file Client jar Figure 35 Mise jour du client lourd 1 Update manager a Tex Update process in progress Done receiving the client program Update of main ap
53. Haute Ecole d Ing nierie et de Gestion Zen du Canton de Vaud INSTITUTE FOR INFORMATION AND COMMUNICATION TECHNOLOGIES Mobile Doctor s Desktop Service de s curit et de mise jour pour clients mobiles Projet de dipl me R alis par Stephen Badan Date Septembre d cembre 2007 Classe TR 2007 Section T l communications r seaux et services Professeur responsable Markus Jaton A aN Imprim le 12 d cembre 2007 gt TA ICT Mobile Doctor s Desktop Stephen Badan 1 Remerciements La r alisation d un travail de dipl me ne peut se faire sans aide ou conseils venant de l ext rieur c est pourquoi je tiens remercier les personnes m ayant soutenues durant ces trois mois de labeur Je souhaite tout d abord adresser un tr s grand merci Monsieur Jaton qui m a guid tout au long du projet et qui m a donn de pr cieux conseils et id es sans lesquels la r alisation du projet aurait t bien plus difficile Je remercie aussi Christophe Greppin pour les diverses solutions qu il m a conseill es Je souhaite par ailleurs remercier toutes les personnes qui m ont c toy es tout au long de mes tudes l cole et tout particuli rement durant les trois derniers mois de dipl me Alexandre Gavin Alexandre Da Costa Samir Hammoudi et Kenza Majbar avec qui j ai eu norm ment de plaisir partager mes id es propos de sujets tr s vari s L ticia Mikiela qui m a donn de la motivation et du
54. IBM poss de les propri t s suivantes Nom J9 Version 2 3 19 3 9 Gestion des syst mes d exploitation Manage operating systems De mani re similaire aux machines virtuelles il est n cessaire de d finir quels sont les syst mes d exploitation autoris s tre utilis s au niveau des appareils mobiles Un syst me d exploitation est d fini par Un nom une version et une architecture Le nom du programme de client lourd que le syst me d exploitation doit utiliser Ce param tre permet si plusieurs versions du client lourd existent pour des versions de syst mes Page 104 129 Ka TA ICT Mobile Doctor s Desktop Stephen Badan d exploitation diff rentes de sp cifier quelle version du client lourd il faut utiliser pour un syst me d exploitation donn Le nom de la machine virtuelle utiliser pour ce syst me d exploitation Remarque L ajout d un syst me d exploitation ne peut se faire que si au moins une machine virtuelle a t pr alablement cr e et si l application du client lourd a t pr alablement ajout e sur le serveur Pour trouver la version du syst me d exploitation sous Windows Mobile aller dans les menus D marrer Param tres Syst mes et s lectionner A propos de Le num ro de version est alors donn sous la forme Microsoft Windows Mobile Version 5 0 OS 5 1 195 Build Le num ro retenir est 5 1 195 A partir de ce num ro le syst me d exploitat
55. Impl mentation du service d authentification mat rielle 11 3 1 Fonctionnement th orique Pour rappel ce service doit permettre d authentifier l appareil mobile Il existe plusieurs solutions pour effectuer cela L une des solutions possibles serait la mise en place d un syst me de certificats entre l appareil mobile et le serveur Dans ce cas l seuls les appareils ayant le bon certificat install seraient en mesure de s authentifier sur le serveur Cette solution pose en revanche deux probl mes principaux 1 Le certificat doit tre cr et stock sur l appareil mobile II faut donc trouver un moyen s r de protection du certificat contre la lecture sur l appareil mobile afin d viter qu il soit copi et install sur un autre appareil mobile 2 Le certificat n est pas li au mat riel Bien que le certificat soit une bonne protection pour l authentification de l appareil il n offre aucune protection sur la copie int grale de l OS de l appareil mobile et donc de ses certificats dans le but de l installer sur un autre appareil mobile similaire Une telle copie n est pas difficile effectuer sur un tel appareil particuli rement en raison de la taille restreinte de l OS et donc la rapidit de la copie L utilisation de certificats offrirait donc une assez bonne s curit mais ils ne sont pas assez li s au mat riel pour pouvoir authentifier l appareil mobile de mani re sure Une autre solution consiste utiliser un
56. L application d sire contr le si l application est autoris e s ponse f application par l utilisateur auquel envoyer une equ te son H r r serveur d application ce renvoie l identifiant de Figure 21 Cr ation et change des identifiants de s curit Page 57 129 IICT Mobile Doctor s Desktop Stephen Badan 14 Service d administration Le service d administration permet l administrateur de g rer l ensemble du service de s curit 14 1 Architecture La solution retenue pour la r alisation du service d administration est la solution bas e sur un site Internet Une solution alternative aurait t d impl menter une application riche en Java par exemple offrant les fonctionnalit s de param trage du service de s curit mais il aurait alors aussi fallu g rer la probl matique des mises jour de cette application Une telle application n cessite par ailleurs aussi qu une machine virtuelle soit install e pour pouvoir tre utilis e ce qui peut tre relativement contraignant en fonction de l environnement dans lequel l administrateur du service se trouve En revanche un site Internet contenant les diverses possibilit s de param trage du service de s curit ne requiert qu un navigateur Internet pour y acc der et n est pas soumis aux probl mes d anciennes versions C est la raison pour laquelle j ai opt pour la solution bas e sur un site Internet Au niveau des technologies utilis
57. N Program MobileDevice id id name hardwareAuthentificationKey accountDisabled externalA uthenticationI sA vailable name isPriority isAutomaticallyInstallable id id updatelsPriority fileSize DN architecture version uses client program id Program Operatingsystem ServerParameters id administratorLogin administratorPassword fileServerLink fileServerLogin fileServerPassword fileServerApplicationF older invalidSessionsY erificationDelay session alidityDelay id id id Virtual achine Operatingsystem Figure 24 Sch ma conceptuel de la base de donn es La figure 24 repr sente le mod le conceptuel de la base de donn es qui a t impl ment e dans le cadre de ce projet La base de donn es est compos e des neuf tables suivantes Table User cette table contient tous les attributs concernant l utilisateur comme son login son nom son pr nom un param tre d finissant si le compte est activ ou d sactiv accountDisabled le mot de passe de l utilisateur formalAuthenticationKey ou encore son identifiant externe externalAuthenticationKey Cette table contient galement le nombre de tentatives d authentifications formelles chou es formalAuthenticationTries et externes externalAuthenticationTries effectu es par l utilisateur Au niveau des liens avec les autres tables un utilisateur peut tre a
58. Page 97 129 message indique simplement que l identifiant est invalide Mobile Doctor s Desktop Stephen Badan La figure 49 repr sente plusieurs applications en cours d ex cution Il est possible d observer le r sultat de deux applications diff rentes ToolsBox jar et abcd La premi re est une application install e et autoris e tre ex cut e par l utilisateur tandis que le nom de la seconde a t saisi dans le simulateur d applications et n est pas autoris e tre ex cut e Il est possible d observer que la premi re application retourne le nom de l utilisateur ce qui indique que l identifiant de s curit est valide En revanche la seconde application ne re oit pas d identifiant valide c est pourquoi le message check invalid est affich f Application Application example Added new application NativeToolsBox dll waiting 9 seconds abcd executing request simulation abcd Check invalid abcd waiting 8 seconds ToolsBox jar ToolsBox jar waiting 2 seconds Add application Close application Figure 49 R sultats des requ tes simul es Remarque En pratique cette application sera remplac e par le chargeur d applications impl ment dans le cadre d un autre travail de dipl me Il faut par ailleurs noter que l application n enverrait pas directement de requ te au serveur de s curit dans le but de v rifier l identifiant de s curi
59. Password m Figure 52 Connexion sur le site d administration 19 3 2 S lection des t ches Une fois connect le menu de droite repr sent en vert dans la figure 53 permet de s lectionner la t che d sir e Les t ches sont r parties en cat gories dans le but de faciliter l acc s celles ci Ce menu est affich peut importe la t che s lectionn e l exception du cas o l administrateur n est pas authentifi Security Service Management Mozilla Firefox Fichier dition Affichage Historique Marque pages Outils 2 4 dc A Li htpsiifsecurty server 843 ServerCheckauthentication jsp Favoris Security Service Management No task selected Please select a task on the left Authentication Access authorized Log out security server 6443 Proxy HEIG VD D Figure 53 Repr sentation du menu des t ches Lorsqu une t che est s lectionn e la partie centrale du site affiche ce que l on souhaite effectuer avec la t che Par exemple en cliquant sur Manage Users la partie centrale propose les l ments Page 100 129 Q Mobile Doctor s Desktop Stephen Badan pr sent s dans la figure 54 Security Service Management Mozilla Firefox Fichier Edition Affichage Historique Marque pages Outils 2 Favoris QE L ites itsecurty server 8449 Server AdministationMenu jsp task user Security Service Management Contact Task selection User management Authentication Acces
60. SE RERE 20 91 AU niVeau d chent errien R a A cas sadernsasnvdasaaeenchdedehamenohaohenmnbbedadaaderins 20 9 2 AU niveau IEN 22 10 Service d authentification fonctionnement th orique 24 10 1 Authentification formelle sister 24 10 2 Authentification Mate rielle cicncccccessccessscevevaceesscaccsenacessccecedvassaesetedeansasnasecdantuassueeetidetnssovsediacecacarenes 24 10 3 Authentification externe sisi 25 10 4 Gestion des m thodes d authentification ss 26 10 5 Exemples de sc narios d utilisation 30 11 Service d authentification r alisation pratique 32 11 1 Service de gestion des authentifications 32 11 2 impl mentation du service d authentification formelle 35 11 3 impl mentation du service d authentification mat rielle 36 11 4 impl mentation du service d authentification externe 40 11 5 R sum des types d authentification impl ment s ss 41 TD Systeme d RTE 42 12 1 D finition d une application 42 12 2 Types de mises TT 43 12 3 D lai de d EE e EE 43 12 4 Contr le des versions isssisssseeesssseeeeeeneenreeeeerneeesneneeeeesseeeeeeeeeeeees 44 12 5 Types d installation Sess Cegedel Ee Ad EEN nid nee anni t ete ends 44 12 6 Contraintes de mise a joUr earosissi scerna oria iaaa ea aaia E eniai 45 12 7 Annulation des t l chargements iii 46 12 8 Nettoyage des fichiers sssssssssstessssnnensessssiecsrrc nstierens
61. Tous les d tails concernant le fonctionnement de ces fonctionnalit s sont donn s dans le manuel d utilisation du service d administration dans le chapitre 19 3 la page 100 14 4 Structuration La figure 23 repr sente les diff rentes parties du site Web d administration La partie d en t te repr sent e en rouge dans la figure est affich e pour chaque page Elle contient un lien permettant de retourner au menu principal un second lien r f rant la source d o la mise en page du site a t inspir e et un lien de contact pour crire un email en cas de probl me La seconde partie est le menu d authentification repr sent en jaune dans la figure Ce menu g re la demande d authentification lorsque l administrateur n est pas encore authentifi et affiche un lien permettant de se d connecter si l authentification est valide Le menu des t ches gauche repr sent en vert dans la figure contient la liste de toutes les t ches que l administrateur peut effectuer Ces t ches sont regroup es par cat gories afin de faciliter la navigation et sont accessibles depuis toutes les pages Ce menu est cach lorsque l administrateur n est pas authentifi La partie centrale repr sent e en bleu dans la figure est la page affichant la t che s lectionn e par l administrateur Cette page est remplac e par un message d erreur si l administrateur tente d y acc der sans authentification Page 59 129 9 IT Mobil
62. Xtensible Markup Language Page 124 129 Kl TA ICT Mobile Doctor s Desktop Stephen Badan 21 Index des figures Figure 1 Figure 2 Figure 3 Figure 4 Figure 5 Figure 6 Figure 7 Figure 8 Figure 9 Diagramme de contexte du service de s curit issus 12 Sch ma g n ral du service 15 Structure d taill e du service iii 17 Structure d taill e du service de s curit 19 PROPHES E 20 Classification des m thodes d authentification biom trique 25 Diagramme temporel de la gestion des authentifications en situation normale 34 Diagramme temporel de la gestion des authentifications en situation d vitement 35 Fen tre d authentification formelle ses 35 Figure 10 Authentification mat rielle sur Windows Mobile 37 Figure 11 Repr sentation en couches de l authentification mat rielle 38 Figure 12 Fen tre d authentification mat rielle ss 39 Figure 13 Exemple d empreinte digitale utilis e lors d une l authentification biom trique 40 Figure 14 Authentification externe l aide de la technologie Bluetooth 41 Figure 15 Exemple d applications pour le service de mise jour ss 42 Figure 16 Mise jour d une application prioritaire 46 Figure 17 Fen tre de s lection des mises jour 48 Figure 18 Diagramme d activit s des mises jour et de l installation des applications 49 Figure 19
63. a Temps effectu Pen S re Suite donner r f rences nr 2 Tache P riodes Explications qu est ce qui a t fait et comment liens documents re us Impression et rendu du rapport 5 Impression et rendu du rapport et du support num rique CD dur e approximative Total session 5 Page 123 129 Pr Mobile Doctor s Desktop Stephen Badan 20 Lexique Les abr viations importantes utilis es dans ce document sont rappel es ci dessous Abr viation Signification API AWT CA CDC CLDC CSS DLL GSM HTML JAAS Java EE Java ME Java SE JAXB JNI JSP MAC MVC PDA SGBD SGML SIM SSL SSO SWT TLS WebDAV XML Application Programming Interface Abstract Windowing Toolkit Certificate Authority Connected Device Profile Connected Limited Device Configuration Cascading Style Sheets Dynamic Link Library Global System for Mobile Communications HyperText Markup Langage Java Authentication and Authorization Service Java Enterprise Edition Java Micro Edition Java Standard Edition Java Architecture for XML Binding Java Native Interface Java Server Pages Medium Access Control Mod le Vue Contr leur Personal Digital Assistant Syst me de Gestion de Base de Donn es Standard Generalized Markup Language Subscriber Identity Module Secure Sockets Layers Single Sign On Standard Widget Toolkit Transport Layer Security Web based Distributed Authoring and Versioning e
64. am sewer Pare ES DEE request HtpSenletRespanse response protect vois dose HieSenlstRequestracuest HipSenfstResponse response protected oid doPesi HibSemlatRequest ecuest HipSenlelResponse response publ Suing Gegen Figure 27 Diagramme des classes du serveur Page 70 129 vg o ICT Mobile Doctor s Desktop Stephen Badan 17 R trospective Le pr projet de dipl me a permis d tablir un cahier des charges et une planification pr cise des t ches effectuer dans le cadre de ce projet En pratique la r alisation d un tel projet peut engendrer des probl mes inattendus requ rant du temps suppl mentaire alors que d autres t ches peuvent tre raccourcies voire supprim es au profit d une autre solution Il est ainsi int ressant la fin du projet de faire un retour sur la planification et sur le cahier des charges pour voir quelles t ches se sont bien d roul es et quelles autres ont pos certains probl mes 17 1 Retour sur la planification 17 1 1 Macro calendrier Le macro calendrier est une mani re tr s simple de repr senter le d roulement d un projet dans son ensemble La figure 29 est une repr sentation th orique du d roulement du projet Il est noter que j ai commenc la r alisation du projet deux semaines avant le d but officiel afin d avoir une marge de s curit dans le cas o un probl me important venait appara tre ce qui n a fort heureusement pas t
65. appareils et ce type de contraintes Quant au profil CDC celui ci a t pr vu pour fonctionner sur des appareils mobiles ayant des ressources moins limit es plus de 2 Mo de m moire telles que des PDA ou des t l phones mobiles de type Smartphones t l phones intelligents Le profil CDC contient quant lui trois couches distinctes Page 20 129 TA ICT Mobile Doctor s Desktop Stephen Badan Un profil de base nomm Foundation profile qui contient des API fonctionnant sans interface graphique Un profil nomm Personal Basis Profile contenant des API fonctionnant avec des interfaces graphiques a composants l g rs tels que Swing par exemple Un profil nomm Personal Profile qui est une extension de Personal Basis Profile offrant des fonctionnalit s pour des interfaces graphiques a composants lourds AWT SWT et pour les applets Au final le but de Java ME CDC est d offrir un environnement Java proche de Java SE tout en fonctionnant sur des appareils a ressources relativement limit es Dans le cadre de ce projet j ai choisi la configuration Java ME CDC car celle ci se rapproche le plus de la version standard de Java et offre ainsi un plus grand nombre de librairies Les appareils mobiles utilis s dans ce projet offrent des caract ristiques mat rielles suffisantes pour la configuration CDC Au niveau des alternatives a Java pour d velopper les applications pour appareils mobiles il existe la so
66. aram tres de s curit Idem au r sultat attendu 6 Supprimer un ensemble de param tres de s curit qu aucun groupe n utilise L ensemble des param tres de s curit doit tre supprim Idem au r sultat attendu 19 1 5 12 Tests de la gestion des param tres du serveur Tous les tests suivants s effectuent lorsque l administrateur est authentifi Test effectu R sultat attendu R sultat observ 1 Choisir de modifier les param tres du serveur puis modifier certains champs et cliquer sur cancel modifications Les valeurs des champs doivent tre restaur es leur valeur d origine Idem au r sultat attendu La modification des param tres du serveur n cessite que celui ci soit red marr afin qu il prenne en compte les nouveaux param tres 4 V rifier que le contr le des champs s effectue correctement pour chaque champ du formulaire Une erreur doit tre affich e si un champ est vide ou invalide indiquant quel est le champ concern Idem au r sultat attendu 19 1 6 Tests d ordre g n raux fa Test effectu R sultat attendu R sultat observ Le client lourd doit s ex cuter sans g n rer d erreurs inattendues Se connecter au service avec deux appareils mobiles simultan ment en effectuant des t ches diverses Aucun probl me n a t d tect lors de ce test ce qui confirme le bon fonctionnement
67. ation message xsd gt lt methodcall id secrd713826217fb2a2chdbfa0c7249f9c0d1 gt lt methodName gt checkPassword lt methodName gt lt parameter gt lt parameterName gt userLogin lt parameterName gt lt type gt String lt type gt lt value gt dupont lt value gt lt parameter gt lt parameter gt lt parameterName gt userPassword lt parameterName gt lt type gt String lt type gt lt value gt 123456 lt value gt lt parameter gt lt methodcal 1 gt lt message gt La balise methodCall d finit un nouvel appel Dans cet exemple l appareil mobile souhaite appeler la m thode checkPassword en lui donnant le param tre userLogin de type String et valant dupont et un autre param tre password de type String et valant 123456 Voici une r ponse possible du serveur lt xml version 1 0 encoding UTF 8 gt lt message xmins xsi http www w3 org 2001 XMLSchema instance xsi noNamespaceSchemaLocation message xsd gt lt methodReturn id secrd713826217fb2a2chdbfa0c7249f9c0d1 gt lt methodName gt checkPassword lt methodName gt lt parameter gt lt parameterName gt userIsAuthenticated lt parameterName gt lt type gt boolean lt type gt lt value gt true lt value gt lt parameter gt lt methodReturn gt lt message gt Ici l exemple de r ponse retourne un param tre userlsAuthenticated de type boolean valant true
68. ation Pack 2 Application Pack 3 j ae Fichier Fichier Fichier Se Application2 jar SE commonDIl dll eaan Application1 jar Bagger Fichier commun aux applications Pack 2 et Pack 3 Figure 15 Exemple d applications pour le service de mise jour Une application n est ainsi pas ex cutable en elle m me mais ce sont les fichiers que l application regroupe qui sont ex cutables Remarque La notion d application au sens regroupement de fichiers n est valable que dans ce chapitre d explications du service de mise jour Dans le but de faciliter la compr hension le terme application dans les autres chapitres de ce document repr sente le fichier ex cutable contenu dans l application Page 42 129 TA ICT Mobile Doctor s Desktop Stephen Badan 12 2 Types de mises a jour Le syst me de mise jour doit prendre en compte la contrainte principale li e aux appareils mobiles qui est le taux de transfert des donn es limit En raison de cette contrainte il est n cessaire de ne mettre a jour ou d installer automatiquement que les applications qui le n cessitent vraiment mises a jour prioritaires ou applications prioritaires et de laisser l utilisateur choisir les mises jour ou les installations non prioritaires effectuer Nous pouvons alors d finir trois cat gories d applications diff rentes Cat gorie 1 o Applications prioritaires une telle applic
69. ation de ces certificats sont donn s au chapitre 19 6 page 113 Le fichier SSLConnector txt pr sent dans le r pertoire lt Replnstall gt Web Server contient le connecteur SSL qu il est possible d utiliser pour le fichier server xml du serveur pr sent dans le r pertoire conf Si le mot de passe du magasin de cl s a t modifi il faut aussi modifier ce mot de passe dans le fichier server xml Modifier le fichier configuration xml pr sent dans le dossier webapps Server WEB INF du serveur si n cessaire pour modifier les chemins vers les certificats certificat du serveur Web et truststore vers le serveur de fichiers D marrer le serveur Web et se connecter au lien https localhost 8443 Server afin de contr ler que le chiffrement par SSL fonctionne correctement Configuration de base du serveur Le serveur tel qu il est configur n est pas encore utilisable Afin que le serveur soit pleinement fonctionnel il est n cessaire de lui ajouter l application du client lourd de lui param trer des acc s pour les utilisateurs et pour les appareils mobiles et enfin de lui ajouter des param tres de s curit Pour ce faire il faut utiliser le service d administration gt Acc der au service d administration https localhost 8443 Server Se connecter avec le nom admin et le mot de passe admin Cr er une application Client contenant les fichiers client jar et mobileDeviceServices dll pr sents dans le r
70. ation est install e et mise jour obligatoirement sans prendre en compte l avis de l utilisateur L int grit de ce type d applications est contr l e et assur e chaque d marrage du client lourd Cat gorie 2 o Applications non prioritaires dont la mise jour est obligatoire une telle application est mise jour obligatoirement si une pr c dente version est pr sente sur l appareil mobile L installation de ce type d applications n est cependant pas obligatoire et est laiss e au choix de l utilisateur L int grit d une telle application est contr l e et assur e chaque d marrage du client lourd si l application est install e Cat gorie 3 Application non prioritaire ou optionnelle ce type d application peut ou non tre install ou mis jour par l utilisateur L int grit d une telle application ne peut pas tre garantie 12 3 D lai de transition Un d lai de transition peut tre d fini au niveau du serveur pour chaque groupe d utilisateurs Ce d lai indique la dur e apr s laquelle la mise jour d une application non prioritaire devient obligatoire En d autres mots ce d lai indique partir de quel moment une application de la cat gorie 3 devient une application de la cat gorie 2 Ce d lai permet un m decin en d placement d avoir la possibilit de ne pas mettre jour une application dont la mise jour vient d tre publi e dans le cas par exemple o le m deci
71. au service d administration utilis pour authentifier l administrateur administratorPassword L adresse de connexion au serveur de fichiers fileServerLink Le nom de login pour la connexion au serveur de fichiers fileServerLogin Le mot de passe pour la connexion au serveur de fichiers fileServerPasswora Le r pertoire dans lequel les fichiers sont stock s au niveau du serveur de fichiers fileServerApplicationFolder Le d lai de v rification des sessions invalides invalidSessionsVerificationDelay Cette v rification passe en revue toutes les sessions ouvertes par les utilisateurs et supprime celles dont la dur e de validit est chue D lai de validit des sessions sessionValidityDelay Ce d lai sp cifie le d lai durant lequel une session d utilisateur est valide 15 2 Mod le relationnel Le mod le relationnel de la base de donn es correspondant au mod le conceptuel ci dessus est le suivant SecuritySettings ProgramFiles MobileDevice OperatingSystem VirtualMachine fileServerApplicationFolder Figure 25 Sch ma conceptuel de la base de donn es Page 63 129 TA ICT Mobile Doctor s Desktop Stephen Badan Le sch ma conceptuel est compos de douze tables Les liens entre les tables dans le sch ma conceptuel sont a pr sent repr sent s par de nouvelles tables dans le sch ma relationnel Nous trouvons ainsi les nou
72. bile Doctor s Desktop Stephen Badan Supprimer un syst me d exploitation qu un ou plusieurs appareils mobiles utilisent Une erreur doit tre affich e indiquant le nom des appareils mobiles qui doivent tre supprim s avant de pouvoir supprimer le syst me d exploitation Idem au r sultat attendu Supprimer un syst me d exploitation qu aucun appareil mobile n utilise Le syst me d exploitation doit tre supprim Idem au r sultat attendu 19 1 5 7 Tests de la gestion des applications Tous les tests suivants s effectuent lorsque l administrateur est authentifi Test effectu R sultat attendu R sultat observ 1 Cr er une nouvelle application ayant le nom d une application d j existante Un message d erreur doit tre affich indiquant qu une application existe d j sous ce nom l Idem au r sultat attendu Cr er une nouvelle application avec un nouveau nom L application doit tre cr e Idem au r sultat attendu Choisir de modifier l application puis modifier certains champs et cliquer sur cancel modifications Les valeurs des champs doivent tre restaur es leur valeur d origine Idem au r sultat attendu V rifier que le contr le des champs s effectue correctement pour chaque champ du formulaire Une erreur doit tre affich e si un champ est vide ou invalide indiquant quel est le champ concern
73. cation A par exemple alors le service de mise jour t l chargerait les fichiers commonDIl dll et Application1 jar Rien ne garantirait en revanche que l ancien fichier Application2 jar soit compatible avec la nouvelle version du fichier commonDll dil Ainsi m me si l utilisateur n avait pas s lectionn la mise jour de l application B cette derni re serait tout de m me effectu e s il existe une mise jour pour le fichier Application2 jar afin d viter tout probl me lors de l ex cution de ce fichier La seconde contrainte permet de garantir qu aucun fichier ne soit manquant une application install e Si un fichier venait manquer alors les applications utilisant ce fichier seraient supprim es afin d viter tout probl me En reprenant l exemple des applications ci dessus imaginons que les applications soient install es et que le fichier commonDll dil soit supprim manuellement par l utilisateur lorsque le client lourd est Page 45 129 do TA ICT Mobile Doctor s Desktop Stephen Badan arr t depuis l explorateur de fichier de Windows Mobile par exemple Apr s le d marrage du client lourd ce dernier proposerait l utilisateur d installer les applications A et B car le fichier commonDIl dll est manquant Si l utilisateur d cide de n effectuer aucune installation alors les fichiers Application1 jar et Application2 jar risquent de ne plus fonctionner correctement Pour pallier ce probl me le service de
74. cations sont d crits de mani re d taill e dans le chapitre 10 Service d authentification fonctionnement th orique page 24 et dans le chapitre 11 Service d authentification r alisation pratique page 32 Description des fonctionnalit s destin es l administrateur du service G rer les utilisateurs l administrateur du service pourra ajouter modifier ou supprimer des utilisateurs ainsi que param trer leur mot de passe ou autre cl d authentification externe G rer les applications l administrateur pourra ajouter modifier ou supprimer des applications Il pourra galement attribuer les droits d utilisation des applications aux utilisateurs G rer les appareils mobiles tous les appareils mobiles utilis s dans le service pourront tre g r s par l administrateur Il pourra d finir quels utilisateurs ont le droit d utiliser un appareil donn G rer les param tres de s curit comme son nom l indique cette t che consiste d finir et g rer les param tres des authentifications ou des mises jour La gestion du service requiert galement une authentification de l administrateur avant de pouvoir tre utilis e Page 13 129 TA ICT Mobile Doctor s Desktop Stephen Badan 8 Sch mas de principes du service Le service de s curit sera compos de plusieurs sous services bien distincts Comme plusieurs personnes travaillent sur le m me projet il faut porter une i
75. cc s la base de donn es et au serveur de fichiers La classe ServerFileAccess permet au serveur de s curit d acc der au serveur de fichiers WebDAV afin de lire ajouter ou supprimer des fichiers La classe ServerDatabaseAccess contient les m thodes d acc s la base de donn es qui sont communes au service de mise jour et au service de s curit La classe ServerDatabaseAccessSecurity h rite de la classe ServerFileAccess et contient les m thodes d acc s la base de donn es qui ne sont utilis es que par le service de s curit La classe ServerDatabaseAccessAdministration h rite de la classe ServerFileAccess et contient les m thodes d acc s la base de donn es qui ne sont utilis es que par le service d administration Le serveur de s curit est ainsi aussi clairement s par en services distincts afin de les rendre aussi ind pendants que possible Il est noter que tout comme le sch ma du client lourd la classe ServerConfiguration non repr sent e dans ce diagramme centralise les constantes du serveur de s curit Page 69 129 ICT Mobile Doctor s Desktop Stephen Badan pubie ServerDatanaseAccess Sting DBPATH Sting DENAVE Sting DBUSER Sting DEPASS public long 92tMaximumAuthenticatonDelay pubie ServerParamatets getServerPararaters int id pubiic User Steen Sting login publi Program getPrograrnlint d pubic MatileDevica getvob loDovesInformation Sinng davieel
76. ce d lai choit la session est supprim e la prochaine v rification des sessions Remarque La modification de l un de ces param tres n cessite un red marrage du serveur afin qu il prenne en compte les nouveaux param tres Il existe par ailleurs d autres param tres pour le serveur pr sents dans un fichier de configuration nomm configuration xml et stock sur le serveur Web dans le r pertoire webapps Server WEB INF de ce dernier Ce fichier contient les param tres suivants Page 107 129 ZS IICT Mobile Doctor s Desktop Stephen Badan gt gt gt gt DBPATH repr sente le chemin vers le serveur de gestion de base de donn es DBNAME sp cifie le nom de la base de donn es utiliser DBUSER sp cifie le nom de l utilisateur utiliser pour se connecter la base de donn es DBPASS sp cifie le mot de passe utiliser pour se connecter la base de donn es TRUSTSTOREPATH sp cifie le chemin vers le certificat utilis pour se connecter au serveur de fichiers TRUSTSTOREPASSWORD sp cifie le mot de passe du certificat susmentionn PARAMETERSID sp cifie l identificateur du tuple de la base de donn es o sont stock s les param tres de s curit du serveur Page 108 129 TA ICT Mobile Doctor s Desktop Stephen Badan 19 4 Int gration des diff rentes parties du client lourd Le client de s curit tant trait et impl ment dans le cad
77. ce de s curit il suffirait en effet d effectuer une demande de suppression des informations confidentielles lorsqu une authentification est erron e La suppression proprement dite devrait tre effectu e par une application externe jar qui pourrait soit tre ex cut e par le client lourd soit directement par l utilisateur dans le cas o le client lourd ne serait pas en ex cution Enfin le fait de ne pas chiffrer les donn es lorsque cela n est pas n cessaire permet l utilisation des applications du syst me d exploitation pour acc der ces donn es comme le carnet d adresses ou le gestionnaire des rendez vous de Windows Mobile L utilisateur n est donc pas contraint d acc der ces donn es qu au travers du client lourd ce qui est le cas de toutes les autres solutions propos es D autres am liorations pourraient galement tre apport es au niveau du client lourd telles l acc l ration de l authentification externe en recherchant l adresse MAC du badge Bluetooth au lieu de rechercher toutes les adresses MAC disponibles Le contr le p riodique de l int grit des applications en cours d ex cution pourrait galement faire partie des am liorations possibles ce contr le ne s effectuant actuellement qu au d marrage du client lourd Enfin au niveau du serveur de s curit une fonctionnalit int ressante serait d ajouter un journal d v nements afin d y r pertorier toutes les erreurs qui sont survenues dans le but de
78. ce devient trop importante en cas de vol par exemple un verrouillage de l appareil mobile est n cessaire Une telle authentification pourrait s effectuer l aide d un badge contenant un module Bluetooth et qui serait connect a l appareil mobile Ce badge serait alors port par l utilisateur sur sa veste ou dans sa poche En cas de vol de l appareil mobile celui ci serait loign du badge engendrant une rupture de la connexion Une d tection du vol serait alors possible et donc le blocage automatique de l acc s l appareil mobile On peut aussi imaginer une localisation l aide d un module GPS permettant de mesurer tr s pr cis ment la distance entre l utilisateur portant un badge GPS et l appareil mobile 10 3 2 1 Avantages de l authentification g ographique Authentification rapide Falsification difficile Aucune interaction avec l utilisateur n est n cessaire 10 3 2 2 Inconv nients de l authentification g ographique Erreur de mesure possible interf rences lectromagn tiques avec la technologie Bluetooth emp chant la connexion entre le badge et l appareil mobile ou perte de connexion GPS l int rieur de b timents 10 4 Gestion des m thodes d authentification Les demandes d authentification se feront de mani re minimiser les interactions avec l utilisateur tout en essayant de garder un haut niveau de s curit Les diff rentes situations possibles sont r sum es dans le tableau d
79. ce qui signifie que l utilisateur est authentifi 13 2 S curisation des communications Afin de s curiser les changes des donn es entre les appareils mobiles et le serveur de s curit l impl mentation d un protocole de chiffrement des donn es est n cessaire Le protocole TLS Transport Layer Security connu aussi sous l ancien nom SSL Secure Socket Layer est une technologie de chiffrement des donn es tr s r pandue et efficace actuellement 13 2 1 Rappel du fonctionnement du protocole TLS La technologie TLS repose sur un chiffrement asym trique et sur un chiffrement sym trique des donn es Le chiffrement asym trique utilise une cl publique disponible tous et une cl priv e Page 52 129 TA ICT Mobile Doctor s Desktop Stephen Badan confidentielle la cl publique permettant de d chiffrer les donn es chiffr es avec la cl priv e et vice versa Quant au chiffrement sym trique il utilise une paire de cl s secr tes qui permettent a la fois de chiffrer et de d chiffrer les donn es Les cl s asym triques sont g n ralement utilis es pour tablir un canal de communication s curis sur lequel des cl s sym triques peuvent tre n goci es et g n r es Les cl s sym triques sont alors utilis es pour changer de gros volumes de donn es en raison de la moins grande complexit de l algorithme de chiffrement sym trique par rapport l algorithme de chiffrement asym trique De mani
80. cependant suffisante dans le cadre de ce projet Performances et fiabilit ce syst me de gestion de base de donn es offre une grande fiabilit et de tr s bonnes performances car il b n ficie d un support de longue date Au niveau des inconv nients MySQL n offre pas toutes les possibilit s fonctionnelles des syst mes de gestion de bases de donn es professionnelles telles les performances au niveau des indexations qu offre Oracle Les fonctionnalit s offertes par MySQL Community Server sont toutefois suffisantes c est pourquoi j ai opt pour cette solution 9 2 3 Serveur de fichiers Le serveur de fichiers utilis pour stocker les applications au niveau du serveur de s curit est la solution WebDAV Jakarta Slide permet ensuite d acc der un tel serveur Jakarta Slide est un syst me de gestion de contenu utilisant le protocole WebDAV Slide est crit en Java et offre un ensemble d API impl mentant un client WebDAV permettant de b n ficier de fonctionnalit s de stockage et d acc s aux fichiers dans des applications Java WebDAV Web based Distributed Authoring and Versioning est une extension du protocole HTTP d velopp e l origine en 1996 pour que des utilisateurs puissent ajouter diter et supprimer des fichiers sur des serveurs Web distants Le protocole WebDAV g re par ailleurs les acc s concurrents aux fichiers de mani re viter par exemple les critures sur un fichier pendant que celui ci est
81. ception est lev e 5 D marrer le client lourd en A la prochaine authentification Idem au r sultat L tat du compte de r pondant toutes les une erreur doit s afficher sur le attendu ok l utilisateur n est authentifications de d marrage client lourd indiquant contr l que lors des de mani re valide et en ne l utilisateur qu il n est plus authentifications d marrant aucune application autoris utiliser son compte Une fois le client d marr Le client lourd doit ensuite se bloquer le compte de fermer automatiquement l utilisateur au niveau du serveur 6 D marrer le client lourd en Idem au test 5 Idem au r sultat r pondant toutes les attendu ok authentifications de d marrage de mani re valide et en ne d marrant quelques applications Une fois le client d marr bloquer le compte de l utilisateur au niveau du serveur 7 Effectuer nouveau le test 5 A la prochaine authentification Idem au r sultat mais en bloquant l appareil mobile une erreur doit s afficher sur le client lourd indiquant que l appareil mobile n est plus autoris se connecter au service Le client lourd doit ensuite se fermer attendu ok Page 80 129 Mobile Doctor s Desktop Stephen Badan automatiquement Idem au r sultat attendu ok 8 Effectuer nouveau le test 6 Idem au test 8 mais en bloquant l appareil mobile 19 1 4 Tests du serv
82. cernant les technologies utilis es Rapport 1 Fin du rapport concernant le manuel d utilisation du service d aministration Rapport 1 Fin du rapport concernant le manuel d utilisation du client lourd Total session 6 Date Du 19 11 2007 au 24 11 2007 a Temps effectu pav S yen Suite donner r f rences oat 2 Tache P riodes Explications qu est ce qui a t fait et comment fone CEOE OS Tests et corrections 1 Installation du serveur de s curit sur une machine fixe Tests et corrections 1 Int gration du chargeur d applications dans le client de s curit et tests Absences impr vus 1 R union ELCA Lausanne Explications des diagrammes des classes et manuel d installation du Rapport 1 serveur et du client Rapport 1 R daction du guide d int gration des services du client lourd Total session 5 Date Du 26 11 2007 au 30 11 2007 A Temps effectu ati o erc Suite donner r f rences ER 2 Tache P riodes Explications qu est ce qui a t fait et comment K Tests et corrections 1 Tests finaux du senice Rapport 4 Contr le et suite de r daction du rapport Total session 5 Date Du 03 12 2007 au 07 12 2007 a Temps effectu D ri a Suite donner r f rences SES 2 Tache P riodes Explications qu est ce qui a t fait et comment HE do ee Eu Rapport 1 Corrections du rapport Absences impr vus 2 Recrutement militaire Rapport 2 Finalisation du rapport Total session 5 Date Du 10 12 2007 au 14 12 2007
83. ces make sure bluetooth is activated The program will be stopped to avoid any security risks Some windows may not be closed automatically Figure 42 Erreur de Bluetooth lors de l authentification externe une fen tre de choix telle que repr sent e dans la figure 44 s ouvre Cette fen tre est compos e d une liste des applications et du type d action effectuer sur celles ci Stephen Badan Application updates Yy 4x X Please select the applications to update Application I Type vl Alert Install FichePatient Install V Toolsbox Install Select All Deselect All Validate Figure 44 Fen tre de choix des mises a jour Install l application concern e n est pas install e ou certains fichiers sont manquants Si cette application est s lectionn e les fichiers manquants ou invalides seront t l charg s Dans le cas contraire tous les fichiers partiellement install s de cette application sont supprim s moins que l un de ces fichiers soit utilis par une autre application Update l application concern e poss de tous ses fichiers mais certains de ceux ci sont Page 95 129 Mobile Doctor s Desktop Stephen Badan invalides ou ne sont pas jour Si l application est install e les fichiers n cessitant une mise jour ou une correction sont nouveau t l charg s Dans le cas contraire aucune action n est effec
84. cin appelle donc les urgences 15h05 Le service est bloqu le m decin est invit s authentifier de mani re formelle pour pouvoir continuer utiliser le service Le m decin n a plus besoin de s authentifier l alerte est termin e il remet donc l appareil dans sa poche jusqu la fin de son service Page 30 129 Mobile Doctor s Desktop Stephen Badan 10 5 2 Utilisation probl matique 8h00 du matin e Le m decin allume son appareil mobile et ouvre le client lourd bureau mobile D s l ouverture du programme l authentification mat rielle est effectu e afin d authentifier l appareil mobile Une fois l appareil v rifi et valid une authentification formelle est demand e au m decin Celui ci saisit son mot de passe puis valide la saisie Imaginons que nous avons disposition les applications A B C et D pour ce m decin II ouvre l application A et commence l utiliser 8h05 2 Le m decin met l appareil mobile dans sa poche car il a termin de l utiliser 8h07 e L appareil mobile tombe de la poche du m decin qui ne le remarque pas 8h10 e Un inconnu ramasse l appareil mobile et essaie de l utiliser Il voit que l application A est ouverte et il voit qu il est possible d ouvrir d autres applications Il essaie d ouvrir l application B mais une invitation une authentification biom trique lui est soumise L inconnu met l appareil mobile dans sa poche 9h40 e Une alerte est d clench e et
85. cr er d exception Tous les fichiers ajout s et sans lien avec l application sont supprim s la fermeture de l application Idem au r sultat attendu Les fichiers Ink ne sont pas supprim s car ceux ci peuvent tre utilis s pour ouvrir l application et leur suppression pourrait rendre impossible une nouvelle ouverture du client 17 Cr er un compte pour un utilisateur pour lequel aucune application n est autoris e Se connecter ensuite a ce compte en s tant pr alablement connect avec un compte poss dant plusieurs applications Aucune application ne doit tre mise jour et la liste des applications disponibles dans la fen tre des tests d applications doit tre vide Apr s la fermeture normale du client aucun fichier des anciennes applications ne doit tre pr sent Idem au r sultat attendu 18 Ajouter une application prioritaire non installable automatiquement pour le compte courant et d marrer le client avec ce compte Une erreur doit appara tre informant l utilisateur qu une mise jour critique doit tre effectu e par l administrateur et que l appareil mobile n est pas autoris se connecter jusqu ce que la mise jour soit faire Le programme doit ensuite se fermer Idem au r sultat attendu 19 Restaurer les param tres et r installer toutes les applications Remplacer le Dans la fen tre des choix des mises jour l applicati
86. d pubie MotileDewee 0 getlobileDevices pubic Hashtabisesinng AppleatonFle getraoremFtes int program pubiic Application z t mme pubic ApplleationFile EEN publ VirualMachine etVitualWachinelnfermation intic pubie Operatngsystem getOperatingsysten nt pubiic Program gatProgram Stina progremNams pubiic User gelUserst pubic Group getGroup intid DE EE pubie Seeurt Setings yatSecuntysetings int ic ServerDatabaseAccess ServerDatabaseAecessAdministration Flom sewer tom servar Gs ee pubie Connection on private Sting DENAME pate Sting DBPATH En private Sting DBUSER public SenerDatabase ccess dministietont Sting DBPATH Shiny DENANE Sting DBUSER Sting OBFASS pate Sting DBNAME public boolean Seet Le ee private Sting DBPASS publie boolean adUser User user SE pubic vooiean removeLiser User user public boolean removeLisesDevce NobileDevice device User user pute boolean emoveMobladevice MobileDevice device publie WobileDevice o 3 gaahileDevisza Sting userName publie oolean adeDev ceToLIse User user Moble Denice device publie GparatinoSystem 0 gstOperatmasystomst public baalean addMobileDevice NokileDevice device pue vooiean modiyssrverearameters SarverParamatsrs parameters publie boolean modiDevice Mobile Devica device publie Securtysatngs0 getSecurtysstingsList public boolean modifySecuriySstinas SecurtySetings setinos public Boolean acaseculySetings SecuySattng
87. d un tel client lourd Pour y r pondre imaginons que des applications soient sp cialement d velopp es pour le milieu m dical Il serait alors possible pour un m decin de pouvoir acc der au travers des applications du client lourd toutes les informations m dicales concernant ses patients voire m me recevoir des alertes lorsque certains de ceux ci sont victimes d un malaise En rendant ce client lourd mobile on offre au m decin la possibilit d effectuer toutes ces t ches sans limites g ographiques rendant le service extr mement flexible Cette souplesse engendre en revanche des questions l gitimes concernant la s curit des donn es Que se passerait il si l appareil mobile du m decin tait vol Quelqu un de malintentionn pourrait il acc der aux donn es confidentielles Les attaques possibles sont en effet multiples et les cons quences peuvent tre critiques Le but de ce travail de dipl me est de r pondre ces questions en r alisant un service de s curit pour le client lourd ayant pour but de prot ger les applications et l acc s aux informations afin de contrer au mieux les diff rents risques qu il est envisageable de rencontrer Page 9 129 TA ICT Mobile Doctor s Desktop Stephen Badan 6 Travail r aliser dans le cadre du projet de dipl me 6 1 T ches r alis es lors du travail de semestre Lors du travail de semestre nomm aussi pr projet de dipl me le but a t de s
88. dans la machine virtuelle du CD du projet il n est donc pas n cessaire de l installer s par ment 19 7 2 3 Installation des certificats Il est n cessaire d ajouter le certificat du serveur dans la racine du PDA afin que ce dernier puisse communiquer avec le serveur de mani re s curis e Ce certificat doit tre nomm truststore et son mot de passe doit tre security En cas d utilisation d un autre nom ou d un autre mot de passe pour le truststore il faut modifier les constantes ad quates au niveau du client lourd et le recompiler Pour plus d informations concernant la cr ation du certificat se reporter au chapitre 19 6 la page 113 Remarque Si des applications du client lourd n cessitent des connexions s curis es vers d autres serveurs il est n cessaire d effectuer l importation des certificats dans le truststore pour chaque serveur Page 118 129 Pr Mobile Doctor s Desktop Stephen Badan 19 7 2 4 Installation du client lourd En fonction des applications qui seront ajout es sur le client lourd ce dernier peut requ rir un espace en m moire assez important Il est de ce fait recommand de placer le client lourd sur une carte m moire afin de ne pas saturer la m moire de l appareil mobile Le r pertoire dans lequel le client lourd est plac sera nomm lt RepClient gt dans ce guide Copier le fichier Client jar du r pertoire lt Repinstall gt Client dans le r pertoire l
89. dans le rapport et Rapport 2 4 s r daction du fonctionnement du serice de mise jour Total session 6 Page 122 129 Pr Mobile Doctor s Desktop Stephen Badan Date Du 05 11 2007 au 09 11 2007 a Temps effectu inati e Suite donner r f rences od 2 Tache P riodes Explications qu est ce qui a t fait et comment EE Ge a Rapport 1 Fin du rapport sur les mises jour et tests divers Tests et corrections 1 Corrections et am lioration du processus de fermeture du client lourd Absences impr vus 1 Forum HES SO 07 Martigny Tests et corrections 1 Tests et corrections de probl mes li s au chiffrement SSL invalid padding Tests et corrections 1 Fin des tests du service de mise jour Tests et corrections 1 Correction d un probl me li l envoi de fichiers volumineux sur le client mobile Total session 6 Date Du 12 11 2007 au 17 11 2007 2 Temps effectu en SE Suite donner r f rences on 2 Tache P riodes Explications qu est ce qui a t fait et comment rte Oo Re es Tests et corrections 1 Contr le des changes d ID entre les serveurs Tests et corrections 1 Tests du serice d administration Rapport 1 Corrections et mises jour des sch mas blocs du service dans le rapport Rapport 1 R daction du rapport con
90. dique entre deux authentifications mat rielles et formelles ongPeriodicVerificationDelay o Le d lai de transition des mises jour apr s lequel une mise jour optionnelle devient obligatoire applicationUpdateTransitionDelay Table OperatingSystem toutes les informations concernant les syst mes d exploitation utilis s par les appareils mobiles sont contenues dans cette table Un syst me d exploitation est ainsi d fini par un nom une version et une architecture par exemple ARM ou MIPS Un syst me d exploitation n est autoris utiliser qu un seul client lourd et ne peut utiliser qu une seule machine virtuelle Il est noter que le client lourd est aussi une application c est la raison pour laquelle la table OperatingSystem poss de un lien vers la table Program Table VirtualMachine une machine virtuelle peut tre d finie par un nom et une version Cette table permet de v rifier si l utilisation d une machine virtuelle donn e est autoris e dans le service de s curit ou non Elle permet par ailleurs de v rifier la version de la machine virtuelle afin de savoir si des mises jour sont requises Page 62 129 v Mobile Doctor s Desktop Stephen Badan Table ServerParameters cette table contient la liste de tous les param tres propres au serveur de s curit o Le nom de login au service d administration utilis pour authentifier l administrateur administratorLogin Le mot de passe d acc s
91. du service Peut tre contourn e pour une dur e de 5 minutes avec une authentification externe en cas d urgence par exemple Au moment des authentifications externes si une telle authentification n est pas disponible sur l appareil mobile Au d marrage du client lourd Si l appareil ne dispose pas de syst me d authentification externe ce type d authentification est remplac par des authentifications formelles Permet l authentification de l appareil mobile Si l authentification externe est d sactiv e il n est plus possible d viter une authentification formelle Toutes les 4 heures Lors du d marrage d une application Protection lors de la non fermeture du client lourd Cette dur e est param trable par l administrateur du service Authentification demand e lors du premier d marrage d une application afin d viter qu une personne malveillante en possession de l appareil ne puisse d marrer de nouvelles applications L authentification n est pas redemand e pendant les 5 minutes suivant le premier d marrage d une application puis une nouvelle demande est formul e si une application doit tre ouverte apr s ce d lai Toutes les 15 minutes Demande d authentification externe toutes les 15 minutes afin qu une personne malintentionn e ne puisse utiliser le service que pour une dur e maximale de 15 minutes Cette dur e est param trable par l administrateur
92. e Page 72 129 Stephen Badan Mobile Doctor s Desktop IICT 40 2TITT 40 21 07 awgjd ip ap EP AA np rpuen 4oj2tie0 40 11 9z oddes np uonesyeuly Lorie aile ayquodsip sdua E sjeuuondo synole 3a SAS np 53591 LO THZt 40 TT ET gunes ap ANaAJaS al 5184 SUONERIdde sayjaAnou ap au zotet 20 11 20 9 ap Nuaquod np uoKsab ap SPYPUUOIUOJ 40 11 20 40 11 10 Jee Sue ap ajausoy uopeIyyuayqne p abed 40 11 10 40 01 0 155 2951N285 UOXAUUOD BOIS UORe SIUIUpe p auer E 40 ot 0 zofotiez Jones 3 Ans anol sasiw sayaanou sap aper 40 01 0 40 01 z anol sasiu sap UONS29 Zoforfez 40 01 87 quay a uns suonerydde sap yuawab eyp ye 262207 lt 0 ot 8t 40 01 ST Angauss ai 4ed Sat ap au zofor st zojor st jualp al ans simpy ep uondarsy zo oT oe o ot st ano ses ap aaas np SEN eu E 40 OT ET 40 01 80 suoneaydde sap ap 40 ot et 40 01 80 suoneaynuayyne p sapuewap ap uonsa9 40 01 90 40 01 10 JA ANS BIJOLPIEW UONEIJAUYINE VOLNA wd 40 01 90 40 01 10 ap ANS Sue LONETJAUALINE 20 60 62 20 60 8z anaiuas uns ayesoduiay aqundes ap QI uerg 40 60 82 40 60 27 ANBMAS ANS Su UONEIJAUEYINE LORS A 40 60 82 40 60 22 ep a ANS 2 WAO ONE JQUALANN 4OJOT ET 40 60 22 uopeaynuayyny Ka zojenl2 zojeniez 166 uoxauuo gt ri L0 OT et 40 60 z gunos ap suoneyuawajdwr zojea zz 20 60 02 S QUUOp ap aseq ej ap sed ua geld em
93. e 102 Page 43 129 d TA ICT Mobile Doctor s Desktop Stephen Badan 12 4 Contr le des versions Le contr le de la version des fichiers au niveau du client s effectue de la mani re suivante Le client lourd r cup re la liste de toutes les applications que l utilisateur est autoris utiliser Pour chaque application le client lourd r cup re la liste des fichiers qui composent l application ainsi que le code hach de chaque fichier Le client lourd calcule le code hach de chaque fichier install l aide de l algorithme de hachage MD5 puis compare le r sultat de ce calcul avec la valeur de r f rence fournie par le serveur o Si les codes hach s sont identiques la version du fichier est jour et est valide Aucune mise jour n est n cessaire o Si les codes hach s sont diff rents le fichier en question est soit obsol te soit corrompu La d cision de mettre jour ou non ce fichier d pend ensuite de la cat gorie laquelle l application contenant ce fichier appartient L avantage d utiliser le calcul du code hach pour contr ler la version du fichier est que cette m thode peut s appliquer tous les types de fichiers Aucun fichier de configuration contenant la liste des applications install es n est stock sur le client Cela permet d accro tre la s curit car un tel fichier de configuration pourrait facilement tre modifi dans le but de faire passer un fichier ex cutable co
94. e Doctor s Desktop Stephen Badan security server 8443 Proxy HEIG VD LD Figure 23 Structuration du site Internet d administration 14 5 Mise en page La mise en page et le design du site sont bas s sur une feuille de style CSS Cascading Style Sheets Cette CSS provient d un site Internet mettant a disposition des feuilles de style gratuitement 24 La seule contrainte au niveau de la licence est qu un lien vers le site source soit ajout sur chaque site utilisant l une de ces CSS L avantage d utiliser une feuille de style pour mettre en page le site est qu une telle solution offre une bonne ind pendance du contenu du site avec sa mise en page Au niveau du code HTML seules les classes d finissant quel style appliquer a quel l ment sont d finies afin de mettre en page un l ment tel qu une table ou un formulaire Il serait ainsi relativement simple de remplacer la CSS dans le but de modifier la mise en page du site tout en n ayant que peu de code HTML a modifier 14 6 Contr les de saisie Le contr le des saisies dans les formulaires est effectu l aide de code JavaScript contenu dans les pages HTML envoy es au client L avantage de contr ler les champs des formulaires l aide de JavaScript est que ce traitement est effectu au niveau du client et non au niveau du serveur offrant ainsi une meilleure r activit et une diminution du trafic vers le serveur Bien qu il soit en principe possible de contou
95. e cet identifiant afin de reconna tre les clients valides de ceux qui ne le sont pas Au niveau du serveur l identifiant r f re par ailleurs un objet contenant le login de l utilisateur et le num ro IMEI de son appareil mobile dans le but d viter au client de devoir envoyer ces informations chaque requ te Cet identifiant reste confin l int rieur du client de s curit une fois g n r et n est divulgu aucune application externe Le second identifiant de s curit est g n r pour tre utilis par les applications externes Lorsqu une telle application externe d sire initier une connexion vers son serveur elle va au pr alable demander au client de s curit de lui fournir l identifiant de s curit pour les applications Le client effectue alors un contr le de validit de l application en collaboration avec le serveur de s curit et si l application est valide si l utilisateur est autoris l utiliser le client de s curit lui retourne l identifiant de s curit Cet identifiant est ensuite inclus dans la requ te de l application qui est transmise au serveur de l application Ce dernier peut ensuite envoyer une requ te au serveur de s curit afin de savoir si l identifiant est valide ou s il faut rejeter la requ te Ainsi le premier identifiant n est utilis que par le client lourd alors que le second identifiant n est utilis que par les applications externes au client lourd L avantage d avoi
96. e choix est due la taille importante d une machine virtuelle qui la rend difficilement transf rable sur un appareil mobile Ainsi la mise jour de la machine virtuelle se fera par une personne agr e telle que l administrateur du service Contr le de la version du client lourd le client lourd se contr le ensuite lui m me en comparant son code hach celui stock sur le serveur Si les codes hach s ne sont pas identiques le client t l charge automatiquement la nouvelle version sur le serveur puis l installe en rempla ant l ancienne version Un red marrage manuel est ensuite requis de la part de l utilisateur afin de charger la nouvelle version en m moire Contr le de la librairie externe le m me processus s effectue pour la libraire externe n cessaire l authentification mat rielle et externe Aucun red marrage n est cependant requis pour ce fichier Authentification le client lourd effectue une authentification mat rielle de l appareil suivie d une authentification formelle de l utilisateur Cette authentification permet en plus de s curiser l acc s au service de conna tre les droits de l utilisateur et donc de savoir quelles sont les applications qu il a le droit d utiliser Cette authentification n est faite qu apr s le contr le de la version du client lourd et de sa librairie afin de s assurer que ces fichiers soient jour et que les ventuelles failles de s curit soient corrig es avant l authenti
97. e client mobile poss de trois composants distincts Le gestionnaire de s curit qui g re les demandes d authentification ainsi que les mises jour des applications Les applications qui offrent les fonctionnalit s du client lourd pour l utilisateur Les modules de s curit qui font office de liens entre le gestionnaire de s curit et les applications ex cut es Un contr le doit s effectuer lorsque des requ tes sont envoy es par les applications Ce contr le v rifie si l utilisateur a le droit d utiliser l application et si une authentification est n cessaire afin de pouvoir continuer l utiliser Mon travail de dipl me concerne l impl mentation du serveur de s curit ainsi que l impl mentation du gestionnaire de s curit au niveau du client Le serveur d applications et l impl mentation des applications elles m mes font l objet de deux autres travaux de dipl me Page 14 129 9 NOT Mobile Doctor s Desktop Stephen Badan Serveur de s curit Serveur d applications Client mobile Figure 2 Sch ma g n ral du service Page 15 129 ZS IICT Mobile Doctor s Desktop Stephen Badan 8 2 Structure d taill e du service dans son ensemble La figure 3 Structure d taill e du service perm
98. e d finie comme n tant pas installable automatiquement Ceci pourrait tre le cas de fichiers de taille tr s importante qui n cessiteraient trop de temps tre t l charg s par l appareil mobile Si une application n est pas installable automatiquement et qu elle doit tre install e ou mise jour les cas de figure suivants peuvent se produire L application est prioritaire cat gorie 1 une erreur s affiche indiquant l utilisateur qu il doit faire mettre jour l application par l administrateur du service puis le client se ferme automatiquement afin d viter tout risque de s curit Page 44 129 TA ICT Mobile Doctor s Desktop Stephen Badan L application est non prioritaire mais doit tre mise jour obligatoirement cat gorie 2 un message d erreur s affiche indiquant l utilisateur qu une application non installable automatiquement doit tre mise jour manuellement par l administrateur puis le client supprime l application concern e afin que l utilisateur puisse continuer utiliser le client lourd sans risque de failles de s curit L application est non prioritaire cat gorie 3 un message d avertissement s affiche indiquant l utilisateur qu une application n cessite d tre mise jour manuellement par l administrateur L application n est cependant pas supprim e et peut continuer tre utilis e 12 6 Contraintes de mise jour Le syst me de mise jour d
99. e d un vitement d authentification formelle Ce d lai est donn en secondes et doit tre sup rieur ou gal 10 secondes L tat de la possibilit d viter les authentifications possibilit qui peut tre activ e ou d sactiv e si l vitement est d sactiv l utilisateur ne pourra plus viter les authentifications formelles Dans le cas contraire l authentification formelle peut tre contourn e temporairement engendrant une authentification externe Une nouvelle authentification formelle est ensuite demand e apr s ch ance du d lai d vitement Le d lai de d marrage des applications apr s lequel le d marrage d une nouvelle application d clenche une demande d authentification ce d lai est donn en secondes et doit tre Page 102 129 TA ICT Mobile Doctor s Desktop Stephen Badan sup rieur a 0 Le d lai d authentification court p riodique entre deux authentifications externes ce d lai est donn en secondes et doit tre sup rieur 30 secondes Le d lai d authentification long p riodique entre deux authentifications mat rielles et formelles ce d lai est donn en secondes et doit tre la fois sup rieur 30 et la fois sup rieur au d lai d authentification court p riodique Le d lai de transition des mises jour apr s lequel une mise jour optionnelle devient obligatoire ce d lai est donn en heures et doit tre sup rieur 0 L tat de la po
100. e de l exportation doit s effectuer l aide du programme keytool adapt la machine virtuelle utilis e Dans mon cas il s agit du keytool d IBM fourni dans la suite d outils nomm e IBM WebSphere Studio Device Developer Celle ci doit tre t l charg e sur le site d IBM directement Ces fichiers sont galement pr sents dans le r pertoire IBM Files du CD du projet Une fois la suite d outils install e il faut ouvrir le dossier BM DeviceDeveloper wsdd5 0 ive 2 2 ou IBM Files en cas d utilisation du CD puis copier le contenu du dossier lib dans JAVA_HOME lib En utilisant une console aller dans le r pertoire BM DeviceDeveloper wsdd5 0 ive 2 2 bin ou IBM Files bin ex cuter la commande suivante et saisir un mot de passe pour le magasin de cl s par exemple security lt Keytool_IBM gt bin keytool import alias nomService keystore truststore file certFile o le nom du service doit correspondre celui utilis par le serveur et o le nom donn par l option file doit correspondre celui utilis dans la commande pr c dente Enfin le nom donn a l option keystore est celui qui sera utilis dans le code Java pour ouvrir le magasin des certificats autoris s Le fichier g n r ici truststore doit tre copi dans l appareil mobile Au niveau du code il faut ajouter les lignes suivantes avant l ouverture de la connexion s curis e System setProperty javax net ssl trustSto
101. e tache du projet 19 8 1 R sum Cette partie r sume la dur e planifi e et la dur e effective pour chaque t che Journal de travail Mobile Doctor s Desktop service de s curit et de mise jour pour clients mobiles Stephen Badan TR 2007 Yverdon les Bains Route de Cheseaux Du 18 09 2997 au 12 12 2007 Planification des activit s du module Echanges de fichiers XML Mise en place base de donn es Impl mentation connexion SSL Impl mentation authentification formelle Impl mentation ID temporaire de s curit Impl mentation authentification mat rielle Impl mentation contr le des applications Transfert fichiers entre client serveur Stockage et chargement fichiers sur client Gestion mises a jour Connexion Web s curis e Page authentification administrateur Gestion du contenu de la base de donn es Envoi applications vers le serveur pour le service d administration Tests et corrections Impl mentation de l authentification externe Rapport Impression et rendu du rapport 19 8 2 D tails La partie ci dessous donne les d tails de l avancement des t ches par semaine en commen ant par la premi re semaine Date Du 04 09 2007 au 07 09 2007 Suite donner r f rences liens documents re us Temps effectu T che P riodes Ex
102. eckiflelsClientle Stina fileName Sting application Name public boolean modiyerogram Program program pubic Gparatingsystem o remove Program nt program d public boolean adFileTaPregram int fled wegen pubie boolean Ieper Eug intel Int prograrnid public ApplcaonFiel0 1 getUnattibutscrites puntie Appleone gets publie boolean addFilo ApplieationFilo fla pubic boolean modifie AplicationFile fie punic oolean SEELEN eeben updatoisPricnty public boolean removefle Apolicatonfile fl publie boolean adcappliestionToGroup Int groupid raren public boolean removeAcplicationFremGroup int grouple Int erooramid punte boolean modiyperatingSystem Operatngsystem os public boolean addOperatingSystem OperatingSystem os ServerAdministration From sewer public WobileDevice O 3 remaveOperatingSystemt int oski p privats ServerAdministationt Buble Soneradministation gotserarAdmunistatlon public SeneiParameters geiServeiParameters nt pue Bosiean mociySonerParamsters ServarParametars parameters public boolean getDatabaseStatust pubie Senveradministrationaccess veiyLogin String lagin Sting password publie eat getlseiList public User getUseinformation String username publie Groupl0 gotGreupst public Boolean mocihUsar User user pubie Boaiean soduser User user public boolean removsUseri Sting usemame pubic boolean removaD
103. eniceFromuser Sving userName Sting devicecode Publie MotileDavice 0 getobileDevices ServerFileAccess From semar pubic MotileDaMcef0 Scherer Sting eene publi NotileDoweo 0 yetMobiiaDovices Sting ussiNams Sting dovsald public M bileDevice gellobile Dexic Sting device ES ele SarrerParametors parameters publie MotileDoweo 0 gotNondtibutedDewieas Sinng usartame public boolean addDeviceToUser Sting userName Sing deviceld eine publie SeneiFileAccess Sera Peramelers parameters Sting bustSio ePath String Weires publie InputSticam gatFla String path Sing flstams public boolean pure Sting path Sting fe InputStream is publie boolean removaFe Sting path Sting NieName pube Gparainasystem getoperatngsystem e public Boolean adduohieDenise MobileDevice device pubit boolean modyiatileDevce MoblaMevice device publie boolean removeNobileDavce Stina devcela public Opsralingsysiem 9 getOperatingSytems publie Group getGrcup mtd publi Boolean sud raup Group group pubic Boolean macttyGroup Group group publie Stinal0 removeGreup int grouald publle Seruntysstungs getSecurtysetings inti publie AnpicationFile aetile intidrie pubie appleatonFle get ile Suing ieName publie Boalean addFils ApplicationFile fle publ Boolean mocihFiet ApplicaionFie fle publ Boolean maciFilol wu boolean
104. enter le stockage et le chargement des applications sur le client lourd o Impl menter le contr le des applications et la gestion des mises jour de celles ci au d marrage du client lourd gt Service de s curit o Mettre en place une communication s curis e entre le client mobile et le serveur de s curit l aide du protocole SSl o gt Impl menter le service d authentification formelle par mot de passe e Impl menter le service d authentification mat rielle o gt Impl menter la gestion des demandes d authentification tableau de la page 29 e Impl menter le contr le des applications temporisateurs et droits d acc s T ches effectuer au niveau du serveur de s curit e Pour tous les services Page 10 129 gt TA ICT Mobile Doctor s Desktop Stephen Badan 6 2 2 o Mettre en place la base de donn es et la classe d acc s celle ci e Impl menter l envoi le traitement et la r ception de documents XML l aide de JAXB e Service de mise jour o Impl menter le contr le des nouvelles mises jour en tenant compte des droits de l utilisateur e Impl menter l envoi de fichiers au client lourd Service de s curit e Impl menter l attribution d identifiants temporaires de s curit o gt Impl menter le contr le des authentifications et des droits de l utilisateur e Service d administration o Impl menter les ajouts modifications et suppressions d utili
105. entifiant valide en essayant toutes les combinaisons possibles La formule permettant de calculer le nombre de combinaisons possibles d un mot de passe est donn e par H DE c nombre moyen de combinaisons SS o est le nombre de lettres composant l identifiant et c la taille de l alphabet utilis La division par deux repr sente la moyenne du nombre de combinaisons essayer Sachant que le code hach contient 32 caract res hexad cimaux le nombre de combinaisons trouver en moyenne est alors 32 1701 10 En imaginant pouvoir tester 100 identifiants la seconde ce qui correspond envoyer 100 requ tes par secondes au serveur il faudrait 32 16 2 100 3600 24 365 la bonne combinaison par force brute 53 951 415 354 030 070 944 852 645 775 ann es en moyenne avant de trouver Sachant que l identifiant se renouvelle chaque authentification formelle soit toutes les quatre heures environ il est possible d affirmer que cette solution est suffisamment sure contre une attaque par force brute 13 Pour modifier ce d lai se r f rer au chapitre 19 3 11 page 107 Page 55 129 TS Gres Mobile Doctor s Desktop Stephen Badan Nom de Mot de Num ro IMEI Heure actuelle Nombre al atoire l utilisateur passe de de l appareil en l utilisateur mobile millisecondes CO Hachage MDS et ajout de l en t te secid Identifiant de s curit Nombre al atoire S du client lourd lt CH
106. ers indiqu s dans ce manuel sont contenus dans le r pertoire d installation pr sent sur le CD du projet L installation du service est pr vue pour le syst me d exploitation Windows XP Service Pack 2 bien qu il soit possible d installer ce service sur d autres syst mes d exploitation Les commandes et les fichiers utilis s risquent alors de diff rer quelque peu Il est noter que le r pertoire d installation pr sent sur le CD du projet est nomm lt Repinstall gt dans ce guide afin de faciliter la lecture de celui ci Remarque Le service de s curit a t cr pour fonctionner sur un serveur nomm security server Dans le cas o un autre nom de serveur est utilis il est n cessaire de modifier l adresse de connexion du client lourd et de le recompiler 19 7 1 19 7 1 1 gt gt gt o 19 7 1 2 Installation du serveur Installation de la base de donn es D compresser l archive mysql 5 0 45 win32 zip pr sente dans le r pertoire lt Replnstall gt Database Server Ex cuter le fichier Setup exe et effectuer une installation compl te A la fin de l installation choisir l option de configuration du serveur MySQL Choisir la configuration d taill e puis choisir le type Server Machine Choisir le type de base de donn es Multifuntional Database Continuer l installation avec les param tres propos s par d faut en s assurant que le serveur est install comme service Windows s e
107. es et d buterait apr s une authentification externe formelle ou mat rielle Une fois le d lai chu une nouvelle demande serait effectu e si une application devait tre ouverte Ces diff rents d lais permettent ainsi de s assurer qu une personne malintentionn e ne puisse pas utiliser les applications d j ouvertes pour une dur e sup rieure 15 minutes et qu elle ne puisse pas d marrer de nouvelles applications 5 minutes apr s la derni re authentification externe mat rielle ou formelle effectu e par le m decin 10 4 3 Contr les p riodiques longs En dehors des contr les p riodiques fixes il est important d effectuer des contr les plus stricts apr s une certaine p riode prolong e En effet certains appareils mobiles ne ferment pas les applications qui sont en m moire lors de leur extinction ou mise en veille De ce fait le contr le de d marrage de l application ne serait effectu qu une seule fois si l application n est jamais ferm e Il est donc important d effectuer une nouvelle identification et authentification de l utilisateur et de l appareil r guli rement afin de s assurer de leur validit Ceci est le but des contr les p riodiques longs Ainsi toutes les 4 heures le syst me effectue une demande d authentification similaire l authentification de d marrage c est dire par mot de passe et mat rielle Un tel syst me bien qu efficace emp cherait le m decin de pouvoir rapidement r pondre
108. es of Pack 3 g Application update A file from the application Pack 2 has been updated by an another application That application must also be updated Figure 47 Contr le des fichiers communs plusieurs applications 19 2 8 3 Application de test Une application de test a t impl ment e afin de s assurer du bon fonctionnement du client lourd Cette application se pr sente de la mani re suivante f Application Application example This is a test application You can add new simulated applications to create requests and to check if they can communicate with their simulated server safely The path where the applications are stored is Java X Add application Close application Figure 48 Application de test Cette application permet de simuler l ex cution simultan e de plusieurs applications Une application en ex cution va effectuer p riodiquement une demande d identifiant de s curit d applications au client de s curit la p riode des demandes tant calcul e al atoirement entre 1 et 10 secondes Le client de s curit v rifie alors si l utilisateur est autoris utiliser l application et retourne l identifiant si tel est le cas Dans ce cas l application simul e envoie cet identifiant au serveur de s curit afin d obtenir le nom de l utilisateur qui utilise cette application le nom tant alors affich l cran Dans le cas contraire un
109. esrenredien ieessssnenessnnen NEES tree nne dant dite not tan 46 12 9 Chargeur d applications 2s csaceressuasessszeedeseosscceecssescean SERA oneonsdevaqenseaesd savqunss anndenenss tete nn dh etre mean 47 12 10 Gestion des mises jour iiieeeeeerreeeseeseeseseeeeeennnnee 47 13 Communications entre le client lourd et le serveur siens 50 E OW lg EE 50 13 2 S curisation des communications sise 52 13 3 Id ntifiant d S curit EE 54 14 S6rvice Kee ul E Ee EE 58 E Wa Deele dE 58 E WE 58 Page 6 129 gt TA ICT Mobile Doctor s Desktop Stephen Badan 14 3 Fonctionnalit s osiers asrine a aa VE EE V aE RAA EAEEREN ESEIA 59 TAA Structura tiO Lu EE 59 E TEE 60 14 6 Contr les de satsle innein arren eaen eiaa anene aaa aai RAA araa EAER E ra naise i EENE EEEREN 60 15 B s d dO EE 61 15 1 Mod le conceptuel 61 15 2 Mod le relationnel iisi iscseessssscecscoetaeesscccescasaseececscness sassevvessedbiasieancecdsaatsocnasyedsiaveveasdeceevesseaesedeenars 63 16 Diagrammes UML des casees 65 16 1 Classes du client lourd nna are a a o a E aa a ni Ee aaa RE 65 16 2 Classes du Serveur sun Mini iles AA Ee E Ea eege Nee Eet 68 lk Ae Eat EE 71 17 1 Retour sur la planification 71 17 2 Retour sur le cahier des charges ins 74 17 3 Am liorations possibles 74 17 4 Probl mes CONNUS eiorinn enina Raa ee EE E a E EA AEEA E Ea ETENE EER 76 VB COMCIUSI OM EE 77 EIERE EE dee E ee eege Een 78 19 ES Ee 78 19 2 Manuel d utili
110. essaire de trouver une m thode d authentification qui soit la fois fiable et mobile Ces deux contraintes font de l authentification biom trique par empreinte digitale la meilleure solution pour cette situation Concernant les solutions existantes pour ce type d authentification en particulier les algorithmes de reconnaissance d empreintes digitales il n existe actuellement que peu de produits d o un prix g n ralement lev Une possibilit serait de cr er l algorithme de v rification soi m me mais l impl mentation d un tel algorithme sortirait du cadre de ce projet en raison du temps requis pour une telle impl mentation Parmi les quelques solutions existantes la solution qui s adapterait le mieux ce projet serait la suivante GrFinger Java 4 5 est d velopp e par la soci t Griaule Cette solution inclut un SDK Software Development Kit qui permet de construire une application Java utilisant un service d authentification biom trique Ce service compare une empreinte digitale une autre puis en extrait un score qui d termine la correspondance entre les deux empreintes Toute la gestion externe des empreintes lecture stockage qui sont stock es sous forme d images est faire dans une application tierce ce qui offre une grande souplesse d int gration Cette solution pourrait tre utilis e au niveau du serveur les images des empreintes digitales seraient alors envoy es des appareils mobiles apr s lectu
111. est alors affich l cran f J Update manager E Yy dx Application update not succ ok ll The application Pack 3 was D A not downloaded completely That error may be due to manual cancellation or write protected files That application and all applications which need the cancelled file may therefore not be available Figure 46 Annulation d un t l chargement Page 96 129 vg o ICT Mobile Doctor s Desktop Stephen Badan 19 2 8 2 Contr le des liaisons entre les fichiers des applications Plusieurs applications peuvent utiliser un m me fichier appel fichier commun Lors de la mise a jour d une application poss dant un tel fichier le fichier commun est galement mis a jour Il se peut alors que les autres applications utilisant ce fichier si elles ne sont pas mises jour g n rent des erreurs de compatibilit de version lors de l utilisation du nouveau fichier commun Dans ce but une v rification s ex cutant en fin de processus de mise jour contr le si des fichiers d applications non mises a jour ont t modifi s par d autres applications Si tel est le cas un message d avertissement est affich et les applications concern es sont mises a jour automatiquement L utilisateur peut cependant annuler la mise a jour s il le souhaite engendrant la suppression de l application g Update manager a Yi 4 Update process in progress Downloading fil
112. ests suivants ont t r alis s avec les d lais donn s ci dessous D lai de d marrage d applications 40 secondes D lai d vitement d authentification 30 secondes Long d lai p riodique d authentification 140 secondes Court d lai p riodique d authentification 60 secondes Test effectu R sultat attendu R sultat observ 1 D marrer le client lourd sans Une fois le client lourd d marr Idem au r sultat d marrer d application en demande d authentification attendu ok r pondant toutes les externe apr s 60 secondes et authentifications de mani re apr s environ 130 secondes en valide fonction du temps qu a pris la premi re authentification externe puis authentification mat rielle et formelle apr s 140 secondes Page 78 129 N Lo IICT Mobile Doctor s Desktop Stephen Badan Le processus doit se r p ter apr s l authentification formelle et mat rielle 2 D marrer le client lourd sans L authentification formelle doit Idem au r sultat application en choisissant se fermer et tre remplac e par attendu ok d viter l authentification une authentification externe formelle apr s 140 secondes Une fois l authentification externe effectu e l authentification formelle doit tre effectu e nouveau apr s 30 secondes Cette nouvelle authentification ne doit pas pouvoir tre contourn e Les contr les p r
113. et Le calendrier 32 Micro calendrier g n ral la m me page repr sente une vue d taill e jour pour jour du d roulement de ce projet Ce calendrier m a permis de surveiller mon avancement dans le but de savoir si j avais du retard ou de l avance tout au long du projet L avancement r el repr sent dans la figure 30 diff re quelque peu de la planification en raison de certains probl mes rencontr s en particulier au niveau de l impl mentation de la connexion s curis e SSL et de l exception invalid padding qu il a fallu r soudre La gestion des mises jour a aussi requis un peu plus de temps en raison du contr le n cessaire des d pendances entre les fichiers afin d viter des probl mes de compatibilit de versions lors des mises jour Le temps suppl mentaire disposition a en outre permis de r aliser l authentification externe d effectuer un plus grand nombre de tests de l application et d approfondir les explications dans le rapport ce qui explique le d passement des dur es planifi es Quant aux absences celles ci sont dues au Je ne f d ral au forum HES SO 07 un entretien d information dans une entreprise d informatique et au recrutement militaire Page 71 129 Stephen Badan Mobile Doctor s Desktop IICT sinor apos azna Em sanof gt 1pue d 22ungm oT TT tT EM ST oz Figure 30 Graphique des dur es de chaque t ch
114. et de d tailler chacune des diff rentes parties du service Le serveur de s curit est s par en interne en trois parties distinctes le service des mises jour le service de s curit et le service d administration Le gestionnaire de s curit g re toutes les demandes d authentification provenant des clients ainsi que les contr les des droits des utilisateurs et des param tres de s curit Le gestionnaire des mises jour s occupe de transf rer les applications vers les clients et collabore avec le gestionnaire de s curit pour v rifier les droits d utilisation des applications par les utilisateurs lors des mises jour Le service d administration permet l administrateur de d finir et de g rer les diff rents param tres de s curit tels que les comptes d utilisateurs les comptes des appareils mobiles les applications install es les droits et les param tres des authentifications Au niveau du client lourd le gestionnaire de s curit et des mises jour a t scind en trois parties distinctes Le gestionnaire des mises jour s occupe de v rifier l tat et la version des applications install es et effectue des mises jour et des installations d applications si n cessaire Il contr le aussi l int grit des applications install es Le gestionnaire des demandes d authentification effectue celles ci en fonction des param tres de s curit et v rifie que les applications e
115. eur en fonction du choix de l utilisateur s lectionn et que l utilisateur d cide d ajouter ou de supprimer un appareil un message d erreur est affich 19 1 5 5 Tests de la gestion des machines virtuelles Tous les tests suivants s effectuent lorsque l administrateur est authentifi Test effectu R sultat attendu R sultat observ 1 Cr er une nouvelle machine virtuelle poss dant un nom et une version identiques une machine virtuelle d j existante Un message d erreur doit tre affich indiquant qu une machine virtuelle avec ces param tres existe d j Idem au r sultat attendu virtuelle qui n est utilis e par aucun syst me d exploitation supprim e 2 Cr er une nouvelle machine La machine virtuelle doit tre Idem au r sultat virtuelle avec un nouveau nom cr e attendu ou une nouvelle version 3 Choisir de modifier la machine Les valeurs des champs doivent Idem au r sultat virtuelle puis modifier certains tre restaur es leur valeur attendu champs et cliquer sur cancel d origine modifications 4 V rifier que le contr le des Une erreur doit tre affich e si Idem au r sultat champs s effectue un champ est vide ou invalide attendu correctement pour chaque indiquant quel est le champ champ du formulaire concern 5 Supprimer une machine Une erreur doit tre affich e Idem au r sultat virtuelle qu un ou plusieurs
116. evanche d autres constructeurs ne le permettent pas ou alors en imposant de tr s lourdes contraintes telles que l obligation de poss der des certificats provenant des op rateurs t l phoniques afin de pouvoir ex cuter les fonctions pour retrouver ces num ros D autre part Java tant un langage de haut niveau il lui est difficile d acc der ces informations qui sont situ es proche du mat riel Bien que Java ME CDC propose une m thode g n rique permettant de lire des propri t s propres au t l phone se nommant getProperty et prenant en param tre un String d crivant la propri t lire il n est malheureusement pas possible de lire directement le num ro IMEI en raison d une limitation au niveau de la machine virtuelle utilis e La lecture de ces num ros ne pose toutefois aucun probl me sur Windows Mobile avec des applications sp cifiquement con ues pour cette plateforme en C par exemple Il est ainsi possible de r cup rer ces informations depuis une application Java en utilisant JNI Java Native Interface qui appelle une librairie en C stock e sur l appareil mobile retournant le code IMEI Page 36 129 vg o ICT Mobile Doctor s Desktop Stephen Badan Il faut toutefois prendre en compte que l ajout d une librairie interm diaire entre le client lourd et le mat riel rend le syst me un peu moins s r en raison du remplacement possible de cette librairie par une librairie modifi e retournant un
117. evices File name Add file to application Application jar Applications jar Loader jar Alert jar FichePatient jar Applications NativeT Manage applications SP Manage files Manage files contained in Add selected fle Adal applications Back to the menu Manage group s allowed H Termin security server 8443 Proxy HEIG VD Figure 56 Ajout et suppression de fichiers dans une application Remarque Page 106 129 Zen o ICT Mobile Doctor s Desktop Stephen Badan La liste contenant les fichiers qu il est possible d ajouter une application cache les fichiers utilis s par les applications de type client lourd toutes les applications qui sont r f r es par des syst mes d exploitation en raison de la gestion diff rente des mises a jour de ces fichiers par rapport a des fichiers d application habituels Dans le cas o l on souhaite ajouter une nouvelle application de client lourd et que l on souhaite lui attribuer certains fichiers utilis s par d autres clients lourds il est n cessaire qu au moins un syst me d exploitation r f re pr alablement cette application afin que la page d attribution des fichiers affiche aussi fichiers de clients lourds 19 3 10 4 Gestion des droits d ex cution des applications Manage group s allowed applications Dans un dernier temps il est n cessaire de sp cifier quels sont les groupes autoris s utiliser les a
118. face graphique permettant a l utilisateur de s lectionner les applications mettre jour ou installer Le groupe rouge contient les classes g rant les authentifications et la s curit en g n ral o La classe ClientAuthenticationManager est la classe centrale du client lourd Elle est d marr e une fois que le processus de mise jour est termin et contient tous les param tres globaux au client de s curit tels que les identifiants de s curit du client et des applications ou le num ro IMEI de l appareil mobile Elle fait le lien entre toutes les classes g re les interactions entre celles ci et g re leur terminaison en cas de fermeture du client lourd Elle g re en outre l ex cution des authentifications Elle est enfin instanci e de mani re unique car elle centralise tous les param tres de s curit du client mobile La classe ClientApplication Manager permet de contr ler les applications d sirant s ex cuter sur le client lourd et g re les demandes d authentification en fonction des param tres de s curit impos s par le serveur et en fonction de l tat des applications Lorsqu une Page 65 129 ZS IICT Mobile Doctor s Desktop Stephen Badan Le authentification est n cessaire cette classe appelle la classe ClientAuthenticationManager pour ex cuter l authentification requise La classe ClientApplicationTimer d finit un timer temporisateur permettant de savoir quand
119. fication Page 47 129 k IICT Mobile Doctor s Desktop Stephen Badan Contr le des applications et des fichiers le client lourd r cup re la liste de tous les fichiers qui sont install s dans son r pertoire Il r cup re par ailleurs sur le serveur la liste de toutes les applications que l utilisateur est autoris utiliser ainsi que la liste des fichiers qui composent chaque application Contr le d installation et de mise jour des applications prioritaires le client v rifie ensuite si des applications prioritaires doivent tre install es ou mises jour Si tel est le cas alors le client effectue les t l chargements et les installations n cessaires sans demander l avis l utilisateur Dans le cas o une application ne peut pas tre install e automatiquement le client affiche un message d erreur et se ferme Contr le d installation et de mise jour des applications non prioritaires le client v rifie si des applications de cat gorie 2 applications optionnelles ou 3 applications non prioritaires dont la mise jour est obligatoire peuvent tre install es ou mises jour Si tel est le cas une fen tre de choix des applications s ouvre afin que l utilisateur puisse s lectionner les applications installer mettre jour Les applications de cat gorie 3 sont coch es automatiquement si une mise jour est requise et ne peuvent pas tre d coch es car leur mise jour es
120. fication Tormelle ss 94 Figure 42 Erreur de Bluetooth lors de l authentification externe 95 Figure 43 Authentification externe par Bluetooth ss 95 Figure 44 Fen tre de choix des mises jour sise 95 Figure 45 Transfert d une application non prioritaire 96 Figure 46 Annulation d un t l chargement sise 96 Figure 47 Contr le des fichiers communs plusieurs applications 97 Page 125 129 K Mobile Doctor s Desktop Stephen Badan Figure 48 Applicationde EE 97 Figure 49 R sultats des requ tes simul es rss 98 Figure 50 Identifiant de s curit invalide sise 99 Figure 51 Compte de l utilisateur bloqu sisi 99 Figure 52 Connexion sur le site d administration 100 Figure 53 Repr sentation du menu des t ches ss 100 Figure 54 Gestion des utilisateurs iii 101 Figure 55 Attribution des appareils mobiles ss 104 Figure 56 Ajout et suppression de fichiers dans une application 106 Page 126 129 Kl TA ICT Mobile Doctor s Desktop Stephen Badan 22 Index lexical A TT EE 20 21 124 ft Ee et LEE Ge und d UE 13 18 25 28 31 34 35 40 41 74 Externe 8 11 13 18 24 25 27 30 32 34 40 41 61 62 66 71 74 75 78 80 94 101 103 Formelle 8 10 11 13 18 24 35 41 47 55 58 62 66 79 80 94 99 102 103 Mat rielle 8 10 13 18 24 26 28 31 34 36 38 41 47 66 78 81 84 93 94 TEE 21 111 124 B Base de donn es 4 11 18 23 44 61 63
121. gram cette table repr sente un fichier contenu dans une application Un tel fichier est d fini par un nom un code hach permettant de v rifier l int grit du fichier hashCode la date d ajout du fichier sur le serveur timeAdded un param tre permettant de d finir si la mise jour de ce fichier est obligatoire ou non updatelsPriority et la taille du fichier fileSize Table SecuritySettings cette table contient tous les param tres de s curit appliqu s au service dans son ensemble Un nom permettant de reconna tre l ensemble de r gles o Un nombre qui d finit le nombre maximum d authentifications invalides formelles avant que le compte de l utilisateur ne soit bloqu formalAuthenticationMaxTries Un nombre qui d finit le nombre maximum d authentifications invalides externes avant que le compte de l utilisateur ne soit bloqu externalAuthenticationMaxTries Le d lai d vitement authenticationAvoidanceDelay qui d finit le d lai apr s lequel une nouvelle authentification formelle est demand e la suite d un vitement d une telle authentification o Le d lai de d marrage des applications apr s lequel le d marrage d une nouvelle application d clenche une demande d authentification externe applicationStartAuthenticationDelay o Le d lai d authentification court p riodique entre deux authentifications externes shortPeriodicVerificationDelay o Le d lai d authentification long p rio
122. hentifications formelles ne soit plus possible L tat du compte de l utilisateur activ ou d sactiv si le compte est d sactiv l utilisateur n est plus autoris s authentifier Si l utilisateur est en train d utiliser le service au moment de la d sactivation du compte il est automatiquement d connect la prochaine authentification Remarque L ajout d un appareil mobile ne peut se faire que si au moins un syst me d exploitation a t pr alablement cr 19 3 7 Gestion des attributions des appareils mobiles Manage mobile device attributions Les appareils mobiles qu un utilisateur a le droit d utiliser doivent tre param tr s ici Par d faut un nouvel utilisateur n a le droit d utiliser aucun appareil mobile Il est noter que plusieurs utilisateurs peuvent avoir le droit d utiliser un m me appareil mobile Le client lourd se base sur ce lien entre les utilisateurs et les appareils mobiles afin de proposer au moment de la premi re authentification formelle sur le client lourd le nom des utilisateurs ayant le Page 103 129 Ke ICT Mobile Doctor s Desktop Stephen Badan droit de se connecter sur l appareil mobile Security Service Management Mozilla Firefox Fichier dition Affichage Historique Marque pages Outils 2 EECH DD L tes tisecurty servere443 5erver MobleDeviceAttrbution jsp 2 Favoris Security Service Management Task selection Mobile devices a
123. i es puis modifi es par des personnes malintentionn es dans le but de nuire la confidentialit ou l int grit des donn es La seconde partie de ce dossier se concentrera ainsi sur le service de mise jour qui assurera que les applications install es soient valides et jour afin d viter tout probl me de ce type Ce dossier comprendra galement les explications du fonctionnement en lui m me de ce client lourd et de son serveur de s curit car les param trages possibles sont nombreux Divers sch mas manuels d explications et guides d installation permettront par ailleurs de faciliter la compr hension d un tel service de s curit Enfin ce projet se terminera par une r trospective du d roulement g n ral de ce travail de dipl me des fonctionnalit s qu il serait possible d ajouter ou d am liorer et des l ments essentiels qu il a t possible d en retenir Au vu de ce qui pr c de il ne me reste maintenant qu vous souhaiter une tr s agr able lecture 1 Le seul syst me vraiment s curis est un syst me teint coul dans un bloc de b ton et scell dans une chambre doubl e de plomb surveill e par des gardes arm s et alors m me Tat mes doutes Page 8 129 TA ICT Mobile Doctor s Desktop Stephen Badan 5 Introduction Durant la derni re d cennie la science a permis de rendre mobile des technologies qui taient jusqu alors limit es a des appareils lourds et enc
124. ication for J2EE Web and Enterprise Applications auteur Sun Microsystems lien http developers sun com prodtech identserver reference techart bioauthentication html Advanced Biometric Controls auteur Advanced Biometric Controls lien http www biobex com main htm Parsing XML in J2ME auteur Sun Microsystems lien http developers sun com techtopics mobility midp articles parsingxml Eclipse Public Licence auteur Wikipedia 5 lien http en wikipedia org wiki Eclipse_Public_License _note eplfaq Transport Layer Security auteur Wikipedia lien http en wikipedia org wiki Transport_Layer_Security Fonctionnement The Sietch Blog source pour image auteur lien http www blog thesietch org category tools Download free CSS templates auteur freecsstemplates org lien http www freecsstemplates org PocketPCFreeware smclose auteur PocketPcFreeware lien http www pocketpcfreewares com fr index php soft 1453 Freephonie org auteur Freephonie org lien http www freephonie org doku certificatswms Page 129 129
125. ice de mise jour Les tests suivants ont t r alis s avec les programmes attribu s au groupe de l utilisateur de la mani re suivante Client li au syst me d exploitation utilis par l utilisateur o Client jar o mobileDeviceServices dll Pack 1 prioritaire installable automatiquement o Loader jar Pack 2 non prioritaire installable automatiquement e Applicationl jar o CommonDll dl Pack 3 non prioritaire installable automatiquement o Application2 jar CommonDll dl Toutes les applications donn es ci dessus ne sont pas encore install es sur le client Par ailleurs la version du client et de la machine virtuelle est jour au d but des tests Enfin le d lai de transition de mise jour est suffisant lev pour viter toute mise jour obligatoire Test effectu R sultat attendu R sultat observ 1 D marrer le client lourd Le client v rifie la version de la Idem au r sultat machine virtuelle puis attendu t l charge le fichier mobileDeviceServices dil Le client tant jour l authentification mat rielle puis formelle doivent s ex cuter Une fois l utilisateur authentifi l application Loader jar du Pack 1 doit tre t l charg e automatiquement sans laisser le choix d annuler le transfert A la fin du t l chargement une fen tre de choix des mises jour pour les applications Pack 2 et Pack 3 doit tre ouverte A la suite du test 1 s lection
126. identificateur unique afin d identifier et d authentifier l appareil mobile En partant du principe que tous les appareils mobiles auront en leur possession un module de t l phonie nomm GSM Global System for Mobile Communications il est possible d utiliser le num ro IMEI International Mobile Equipment Identity L IMEI est un num ro stock dans le t l phone et l identifie de mani re unique ind pendamment de la carte SIM Subscriber Identity Module Ce num ro est con u de mani re ne pas pouvoir tre modifi facilement 15 Le principe de cette solution est simple au moment de l authentification de l appareil mobile le client lourd va lire le num ro IMEI dans le t l phone et l envoyer directement au serveur afin qu il soit v rifi S il est accept le t l phone est authentifi L avantage de cette solution est qu elle est extr mement simple dans le principe De plus m me si une tierce personne connaissait ce num ro elle serait incapable de le reproduire artificiellement au moment de l authentification car le client lourd va le lire directement au niveau du mat riel Cette solution permet donc d authentifier le t l phone de mani re simple s re et efficace Malheureusement la mani re de r cup rer ces informations est actuellement totalement d pendante de l appareil mobile utilis En effet certains constructeurs ont pr vu cette fonctionnalit et proposent des fonctions pour retrouver ce num ro En r
127. indiquant le nom des syst mes attendu syst mes d exploitation d exploitation qui doivent tre utilisent supprim s avant de pouvoir supprimer la machine virtuelle 6 Supprimer une machine La machine virtuelle doit tre Idem au r sultat attendu 19 1 5 6 Tests de la gestion des syst mes d exploitation Tous les tests suivants s effectuent lorsque l administrateur est authentifi Test effectu R sultat attendu R sultat observ 1 Cr er un nouveau syst me d exploitation poss dant un nom une architecture et une version d j existants Un message d erreur doit tre affich indiquant qu un syst me d exploitation avec ces param tres existe d j Idem au r sultat attendu champs s effectue correctement pour chaque champ du formulaire un champ est vide ou invalide indiquant quel est le champ concern 2 Cr er un nouveau syst me Le syst me d exploitation doit Idem au r sultat d exploitation avec un nouveau tre cr attendu nom une nouvelle version ou une nouvelle architecture 3 Choisir de modifier le syst me Les valeurs des champs doivent Idem au r sultat d exploitation puis modifier tre restaur es leur valeur attendu certains champs et cliquer sur d origine cancel modifications 4 V rifier que le contr le des Une erreur doit tre affich e si Idem au r sultat attendu Page 87 129 D h IICT Mo
128. iodiques vus au test 1 doivent ensuite s effectuer normalement 3 Dans les options de s curit de Les authentifications externes Idem au r sultat l appareil mobile dans la base doivent tre remplac es par des attendu ok de donn es d sactiver authentifications formelles et il l authentification externe sur ne doit plus tre possible l appareil mobile et effectuer le d effectuer un vitement test 1 d authentification formelle 4 R tablir les param tres Les authentifications formelles Idem au r sultat Dans les options de s curit du ne doivent plus tre vitables attendu ok groupe de l utilisateur d sactiver les vitements d authentifications formelles 5 En utilisant l application de Comme l application est ouverte Idem au r sultat simulation d applications dans le d lai de d marrage des attendu ok d marrer une application d s applications aucune l ouverture de l interface authentification n est requise graphique de l application 6 dem au test pr c dent mais Une authentification externe est Idem au r sultat ouvrir une application apr s le effectu e avant que la nouvelle attendu ok d lai d ouverture des application ne puisse effectuer applications soit apr s 40 de requ te secondes 7 A la suite du test 6 ouvrir une Aucune authentification n est Idem au r sultat seconde application apr s le cette fois requise car le d lai de attendu ok d lai de d marrage d
129. ion tait due l criture dans une zone de texte de la fen tre pendant la fermeture de la fen tre situation cr ant un blocage Total session 5 Date Du 01 10 2007 au 06 10 2007 A Temps effectu Han Er arin Suite donner r f rences SC 2 Tache P riodes Explications qu est ce qui a t fait et comment ne cent ae A Mise en place d un serveur Webdav pour stocker les fichiers Transfert fichiers entre FRERE S A S Se S r 1 impl mentations des m thodes n cessaires r cup rer des fichiers client serveur h A incluant des contr les de droits des utilisateurs Stockage et chargement Correction d un probl me li la transmission par SSL invalid padding en fichiers sur client 1 mettant en place une transmission des fichiers par paquets multiples de 8 bytes De plus d but du stockage des applications sur le client mobile Gestion mises a jour 1 Impl mentation du contr le de version de la machine virtuelle Gestion mises a jour 1 Impl mentation du contr le de la version du client lourd Gestion mises jour 1 Impl mentation des contr les des applications prioritaires Rapport 1 Rapport sur les services d authentifications Total session 6 Page 121 129 Pr Mobile Doctor s Desktop Stephen Badan Date Du 08 10 2007 au 12 10 2007 A Temps effectu ati a puri Suite
130. ion peut tre repr sent de la mani re suivante dans le service d administration Nom Windows CE Version 5 1 build 195 Architecture arm 19 3 10 Gestion des applications et des fichiers L ajout d une application sur le serveur se d roule en quatre tapes La premi re tape consiste a cr er l application lui donner un nom et d finir ses propri t s d installation Une fois cette tape r alis e il faut ajouter les fichiers de l application sur le serveur Ensuite il faut sp cifier pour cette application quels sont les fichiers qu elle contient Enfin il est n cessaire de sp cifier quels sont les groupes autoris s utiliser la nouvelle application Les d tails de chacune de ces tapes sont donn s ci dessous 19 3 10 1 Gestion des applications Manage applications Une application comme d finie dans le chapitre 12 1 est d finie par les propri t s suivantes Un nom d application unique Un tat d finissant si l application est prioritaire ou non si l application est d finie comme tant prioritaire l installation de cette application se fera obligatoirement moins que l application ne soit pas installable automatiquement auquel cas une erreur serait affich e et le client lourd serait alors automatiquement ferm Un tat d finissant si l application est installable automatiquement ou non ce qui est utile dans le cas o l installation de l application requiert des op ra
131. ire de mises jour g s curit Client mobile Gestionnaire des demandes d authentification Gestionnaire des mises a jour Serice des authentifications Module s de s curit t Gestionnaire s des requ tes 2 A pplication s it Chargeur d applications j Figure 3 Structure d taill e du service Page 17 129 TA ICT Mobile Doctor s Desktop Stephen Badan 8 3 Structure d taill e du service de s curit La figure 4 Structure d taill e du service de s curit ne tient plus compte des applications et de leur serveur qui sont trait s dans le cadre d autres travaux de dipl me Le sch ma ne d taille que le service de s curit tant au niveau du client qu au niveau du serveur Au niveau du serveur de s curit nous retrouvons le gestionnaire des mises a jour et le gestionnaire de s curit d crits pr c demment Concernant le stockage des informations deux nouvelles entit s ont t d taill es Le serveur de fichiers ce serveur contient tous les fichiers des applications qui peuvent tre transf r es sur les clients Le syst me de gestion de base de donn es SGBD ce serveur contient toutes les donn es concernant les utilisateurs les appareils mobiles les droits et les param tres de s curit Ce serveur contient galement les informations concernant les applications telles que la date d ajo
132. it s ex cuter dans un environnement mobile comme des PDA Personal Digital Assistant il n est pas possible d utiliser la version standard de Java Java SE Java Standard Edition en raison des besoins trop lev s en ressources syst mes Sun propose une version r duite de Java nomm e Java ME Java Micro Edition qui peut s ex cuter sur des environnements ressources limit es Java ME contient deux sous cat gories principales qui sont CDC Connected Device Profile et CLDC Connected Limited Device Configuration 2 3 Servers amp Servers amp High end PDAs Mobile Smart enterprise personal TV set top boxes phones amp cards computers computers Embedded devices entry level PDAs Java Phtfom Micro Edition Java ME Figure 5 Profiles Java Les configurations CDC et CLDC poss dent trois l ments principaux Une configuration qui contient les fonctionnalit s les plus basiques pour un grand nombre d appareils mobiles Un profil contenant des API Application Programming Interface ou fonctionnalit s plus sp cifiques aux types d appareils utilis s Un paquetage optionnel contenant des API tr s sp cifiques certaines technologies Le profil CLDC a t cr pour fonctionner sur des appareils mobiles ressources tr s limit es moins de 512 Ko de m moire tels que des t l phones portables La couche MIDP Mobile Information Device Profile offre un environnement Java complet pour ce type d
133. it une application form e de trois parties bien distinctes Page 4 129 TA ICT Mobile Doctor s Desktop Stephen Badan 1 S curisation du poste mobile s curisation et mise jour des applications authentification des utilisateurs 2 Services locaux applications s ex cutant sur le mobile 3 Services distants parties serveur des applications du bureau mobile Ces trois parties seront trait es chacune par un tudiant a savoir 1 Stephen Badan ETR 2 Gr goire Wuillamoz ETR 3 Julien Probst ETR Page 5 129 Kl TA ICT Mobile Doctor s Desktop Stephen Badan 3 Table des mati res ne En E EE 3 2 C hier des Charges Dese ES see esse ne stat sackooveddadeocdlonscdslayceeave tuba iaeeetderdabaliscsveues ceded 4 2 1 R sum d probleme si 5 555cc0cssiccksciessdsideveedsnsesssdsnestassasteedocedencesgsescasnes0hdaseneesess odd sas aean iein ea aiai naa 4 2 2 Cahiers AE E A EEE E E 4 ARE ln EES 8 ET La x do Le Heger TE 9 6 Travail r aliser dans le cadre du projet de dipl me 10 6 1 T ches r alis es lors du travail de semestre ss 10 6 2 Travail r aliser lors du projet de dipl me 10 leede eege SR RE LI 12 8 Sch mas de principes du service 14 8 1 ged EE 14 8 2 Structure d taill e du service dans son ensemble 16 8 3 Structure d taill e du service de s curit sisi 18 9 Technologies utilis es eiiis renesansinis ieran ap aaae AEREE ae SEA ERER REEERE EENE eo ETRE EPOR EE
134. l ne dispose d aucune autre m thode de protection 10 3 Authentification externe L authentification externe permet d ajouter un troisi me type d authentification afin de compl ter l authentification formelle et l authentification mat rielle Le terme authentification externe signifie que l on authentifie l utilisateur en contr lant sa pr sence Cela permet de s assurer que c est bien l utilisateur pr sent qui utilise l appareil mobile et non une autre personne Ce contr le peut tre effectu l aide d une authentification biom trique ou d un autre type d authentification permettant de localiser l utilisateur et l appareil prot ger 10 3 1 Authentification biom trique L authentification biom trique se base sur les caract ristiques physiques de l utilisateur pour pouvoir l authentifier Parmi les principales possibilit s d authentifications biom triques l analyse de la main empreintes digitales ou silhouette de la main l analyse de l il de l utilisateur iris ou r tine l analyse du visage ou encore de la voix de l utilisateur sont les m thodes principalement utilis es actuellement La puissance d analyse n cessaire co t et la pr cision de l authentification sont les deux param tres importants permettant de classifier ces diff rentes technologies comme le montre la figure 6 Classification des m thodes d authentification biom trique 14 10 3 1 1 Avantages de l authentification biom trique CO
135. la librairie d Apache s occupant de la gestion de l upload des fichiers Le fichier est re u Page 88 129 D h IICT Mobile Doctor s Desktop Stephen Badan et que sur le navigateur Firefox et le navigateur Safari Cette erreur ne se produit pas si SSL n est pas utilis Enfin cette erreur n appara t jamais avec Internet Explorer qu il y ait SSL ou non mais celui ci fait une taille de 0 et est totalement vide Il se peut aussi que l erreur soit due au serveur Apache lui m me au moment de la r ception de la requ te mais l erreur est difficilement rep rable ce niveau Dans tous les cas cette erreur n est malheureusement pas corrigible au niveau Java Choisir de modifier le fichier puis modifier certains champs et cliquer sur cancel modifications Les valeurs des champs doivent tre restaur es leur valeur d origine Idem au r sultat attendu Supprimer un fichier Le fichier doit tre supprim du serveur de fichiers et ses informations doivent tre supprim es du serveur de fichiers Les liens qu avait ce fichier avec les applications doivent galement tre supprim s Idem au r sultat attendu S lectionner la t che modifier un fichier puis s lectionner un fichier portant un nom diff rent du fichier original et envoyer ce fichier Un message d erreur doit s afficher indiquant que le fichier envoy n a pas le m me n
136. les authentifications ont t faites et quand une nouvelle authentification est n cessaire Pour ce faire chaque instance de cette classe contient une date de cr ation Une m thode permet de savoir si ce temporisateur est chu en fonction d un d lai donn en param tre qui est compar la date de cr ation de l instance Cette classe est utilis e par la classe ClientApplicationManager pour stocker les temporisateurs des authentifications et pour ainsi effectuer une nouvelle authentification si l un des d lais est chu groupe vert contient les services d authentifications appel s par la classe ClientAuthentication Manager lorsqu une authentification est n cessaire o La classe ClientAuthenticationServiceHardware contient les m thodes n cessaires pour effectuer une authentification mat rielle de l appareil mobile en lui extrayant son num ro IMEI Cette classe utilise la classe ClientAuthenticationServiceHardwareGUI comme interface graphique La classe ClientAuthenticationServiceExternal contient les m thodes n cessaires pour effectuer une authentification externe par Bluetooth Cette classe utilise la classe ClientAuthenticationServiceExternalGUI comme interface graphique La classe ClientAuthenticationServiceFormal contient les m thodes n cessaires pour effectuer une authentification formelle de l utilisateur en lui demandant son nom et son mot de passe Elle utilise la classe ClientAuthenticationServiceFormalGUI comme i
137. lications le client les applications Loader jar ne le t l charge Application1 jar commonDIl dll qu une seule fois et Application2 jar 6 Supprimer les fichiers L annulation du t l chargement Idem au r sultat commonDIl dll et du fichier commonDII dll doit attendu Application2 jar puis d marrer afficher un message d erreur le client lourd puis engendrer la suppression du fichier Application2 jar si ce S lectionner l installation du fichier a t t l charg car le Pack 3 uniquement puis Pack 3 est incomplet annuler le t l chargement du fichier commonDII dll Le fichier Application1 jar appartenant au Pack 2 est supprim aussi car le fichier commonDll dil est manquant ce qui rend l utilisation du fichier Appplication1 jar impossible Au final la fen tre de simulation des applications ne doit afficher que le fichier Loader jar 7 Relancer le client et remettre Un message d avertissement Idem au r sultat Le fichier d application jour tous les fichiers puis doit s afficher puis le fichier attendu du Pack dont le fermer le client commonDll dil doit nouveau t l chargement a t commencer tre t l charg annul a t supprim Effectuer nouveau le test 6 car ce second t l chargement L annulation du mais en s lectionnant cette fait partie de la mise jour de t l chargement fois ci la mise jour des deux l autre pack s lectionn commonDIl dll n a en packs Annuler le reva
138. lications lorsqu elles devraient tre ferm es dans le but th orique de pouvoir les ouvrir nouveau plus rapidement si l utilisateur le d sire Malheureusement cette gestion ne fonctionne pas et les machines virtuelles ferm es restent en m moire jusqu ce que la m moire sature et emp che l ouverture d une quelconque application Une application tierce nomm e smclose exe doit tre install e afin de forcer Windows mobile lib rer la m moire lors de la fermeture des applications 25 Copier le fichier smclose exe pr sent dans le r pertoire lt Repinstall gt Patches Windows Mobile dans le r pertoire Windows D marrage afin que ce fichier soit ex cut chaque d marrage Ex cuter ce fichier sur l appareil mobile une seule fois Il est par ailleurs conseill de d sactiver la mise en veille automatique du PDA car celle ci peut entra ner des coupures de r seaux pour le client lourd Pour la d sactiver aller dans le menu D marrer Param tres Syst me Alimentation Avanc et de d sactiver la mise en veille automatique 19 7 2 2 Installation de la machine virtuelle Dans un deuxi me temps il est n cessaire d installer la machine virtuelle sur l appareil mobile L installation de cette derni re est extr mement simple Aller dans le r pertoire lt Repinstall gt Virtual Machine et copier le r pertoire J9 la racine de l appareil mobile Il est noter que la librairie SWT est directement incluse
139. llowed to be used by the user bjohnson Users and groups Remove device from Manage users Name IMEI code user Manage groups Se HTC P3300 35169501663216000 Manage mobile device attributions Emulator pon Remove device from Remove Mobile devices user Manage mobile devices Manage virtual machines Add new device to the user bjohnson Manage operating systems Name IMEI code Add device to user Security PDA Phone 35169501618349500 Manage security settings Add device to user Applications Reck ta the manu Manage applications Termin security server 8443 Proxy HEIG VD D Figure 55 Attribution des appareils mobiles x Pour ajouter un appareil mobile dans la liste des appareils que l utilisateur est autoris utiliser s lectionner un appareil mobile et cliquer sur le bouton add Pour enlever un appareil mobile de la liste des appareils que l utilisateur est autoris utiliser s lectionner un appareil mobile et cliquer sur le bouton remove 19 3 8 Gestion des machines virtuelles Manage virtual machines Il est n cessaire de d finir quelles sont les machines virtuelles des clients mobiles autoris es a tre utilis es sur les clients lourds Une machine virtuelle est d finie par Le nom de la machine virtuelle La version de la machine virtuelle Ces deux param tres d finissent la machine virtuelle ne mani re unique Il est noter que la machine virtuelle utilis e d
140. loppement pour Java ME Ces fichiers sont galement pr sents sur le CD du projet dans le r pertoire Development tools 19 5 1 1 19 5 2 D veloppement sur la plateforme Java Mobile ou Sony Ericsson T l charger et installer J2SE Development Kit 6 http java sun com javase downloads index jsp T l charger NetBeans IDE 5 5 et l installer Sans Java EE http www netbeans info downloads index php_ Avec Java EE 5 s lectionner Download with tools http java sun com javaee downloads index jsp T l charger et installer NetBeans Mobility Pack 5 5 for CDC http www netbeans info downloads index php rs 11 amp p 10 T l charger et installer la plateforme de d veloppement UIQ3SDK pour appareils de type Sony Ericsson SDK utilis pour les librairies AWT garder toutes les options par d faut http developer sonyericsson com getDocument do docld 77006 T l charger et installer P990 Extension Package for the UIQ 3 SDK Beta 3 http developer sonyericsson com getDocument do docld 78484 Ouvrir le programme SDK Configurator de UIQ3SDK puis s lectionner le device par d faut cliquer OK Aller dans l onglet Styles s lectionner le premier style P990 Flip Closed Cliquer sur Apply puis quitter le programme Ouvrir NetBeans aller dans Tools Java Platform Manager cliquer sur Add Plaform et s lectionner Java Micro Edition CDC Platform Emulator Ouvrir ensuite le r pertoire
141. lution NET Compact Framework dit e par Microsoft qui permet de cr er des applications fonctionnant sur le syst me d exploitation Windows Mobile L avantage de la solution de Microsoft est qu elle permet de cr er des applications qui utilisent pleinement partit des fonctionnalit s du syst me d exploitation Il est aussi possible d acc der aux ressources du syst me par Java ME mais il faut pour cela utiliser des solutions telles que JNI Java Native Interface compliquant consid rablement la t che Java ME poss de quant lui tous les avantages de Java dont celui de fonctionner sur de multiples plateformes telles que Windows Mobile ou Symbian OS pour autant qu une machine virtuelle ait t impl ment e pour le syst me d exploitation utilis ce qui n est pas le cas de NET qui est limit la plateforme Windows Java ME permet par ailleurs de charger du code dynamiquement ce qui pr sente un tr s grand avantage dans le contexte d un client lourd o le chargement d applications t l charg es est l une des principales contraintes Pour ces diff rentes raisons la r alisation de ce projet est faite dans le langage Java ME Enfin titre d information Java ME CDC 1 1 est l quivalent d une version 1 4 2 de Java SE pur e c est a dire sans m thode obsol te ou deprecated dans le contexte Java 4 9 1 2 Machine virtuelle Sun ne propose pas de machine virtuelle pour Java ME II faut donc utiliser des machines virtuelles
142. melles Ce mot de passe est hach afin de ne plus tre lisible une fois l utilisateur ajout ou modifi il est donc tout fait normal de ne pas pouvoir le lire lors d une modification ult rieure de l utilisateur Le nombre d authentifications invalides formelles et externes que l utilisateur a effectu es Ces valeurs indiquent le nombre de fois que l utilisateur s est authentifi de mani re invalide pour chacun des types d authentification La cl d authentification externe cette valeur correspond ici l adresse MAC Medium Access Control de l appareil mobile Bluetooth port sur l utilisateur et servant d authentifiant externe tel qu un badge ou t l phone mobile Page 101 129 Ki Toa ICT Mobile Doctor s Desktop Stephen Badan L tat du compte de l utilisateur En cochant la case le compte de l utilisateur est d sactiv et l utilisateur ne pourra plus s authentifier En d cochant la case le compte de l utilisateur est nouveau activ et les compteurs d authentifications invalides sont remis z ro Un nouvel utilisateur n a par d faut aucune autorisation d utilisation d appareils mobiles Il faut lui sp cifier quels sont les appareils mobiles qu il a le droit d utiliser Pour ce faire suivre la proc dure cit e dans la section 19 3 7 Remarque L ajout d un utilisateur ne peut se faire que si au moins un groupe a t pr alablement cr 19 3 4 Gestion des groupes Manage gro
143. ment d clench e lors des contr les p riodiques longs Page 93 129 Q Mobile Doctor s Desktop Stephen Badan i Authentication Hardware authentication in progress Checking on server Figure 39 Authentification mat rielle 19 2 6 Authentification formelle L authentification formelle suit l authentification mat rielle La fen tre est compos e d une liste contenant les noms des utilisateurs autoris s utiliser l appareil mobile Lors des authentifications formelles ult rieures seul le nom de l utilisateur qui s est authentifi est propos Formal authentication required Formal authentication required Select the login of the user Select the login of the user sbadan biohnson hd biohnson the password Validate Validate Figure 40 Liste de choix Figure 41 Fen tre des utilisateurs d authentification formelle Deux boutons sont affich s dans la fen tre Le bouton Validate qui permet de valider l authentification et le bouton Avoid authentication qui permet lorsque le bouton est activ d viter temporairement l authentification formelle Dans ce cas l authentification formelle est remplac e par une authentification externe et une nouvelle authentification formelle est requise une fois le d lai d vitement chu 19 2 7 Authentification externe L authentification externe est effectu e p riodiquement ou lorsqu une applicatio
144. mise jour se termine par une v rification globale de toutes les applications install es Ce processus de nettoyage supprime tous les fichiers des applications marqu es comme tant supprimer ainsi que tous les fichiers inutilis s Les d tails concernant ce nettoyage sont donn s dans le chapitre 12 8 Dans le cas pr sent les fichiers Application1 jar et Application2 jar seraient aussi supprim s 12 7 Annulation des t l chargements L utilisateur a le choix d annuler le t l chargement de fichiers appartenant des applications non prioritaires qu elles doivent tre mises jour obligatoirement ou non applications de cat gorie 2 ou 3 Dans le cas o l utilisateur d cide d annuler le transfert du fichier en cours de t l chargement le fichier concern est supprim et l application contenant ce dernier est marqu e comme tant supprimer la fin du processus de mise jour f Update manager a VE x Update process in progress Downloading files of Priority pack Downloading file Application1 jar Figure 16 Mise a jour d une application prioritaire 12 8 Nettoyage des fichiers Le nettoyage des fichiers s effectue en fin de processus de mise jour Le client lourd contr le toutes les applications et tous les fichiers qui sont install s et les compare la liste des applications et des fichiers que l utilisateur est autoris utiliser provenant du serveur Le client su
145. mporaire ne doit tre pr sent la fin de la mise jour 13 Modifier la version de la machine virtuelle Java pour le syst me d exploitation utilis au niveau du serveur Un message d erreur doit s afficher sur le client indiquant l utilisateur que la machine virtuelle n est pas jour et qu elle n cessite une r installation aupr s de l administrateur Idem au r sultat attendu 14 Restaurer la valeur de version de la machine virtuelle puis modifier la version du syst me d exploitation utilis au niveau de la base de donn es Un message d erreur doit tre affich indiquant que le syst me d exploitation n a pas t trouv pour le syst me d exploitation sp cifi Idem au r sultat attendu 15 Restaurer la version de la machine virtuelle dans la base de donn es puis remplacer le fichier mobileDeviceServices dil dans l appareil mobile par un fichier quelconque de m me nom Le client mobile doit d tecter que le code hach du faux fichier mobileDeviceServices dll est incorrect et doit t l charger la version valide depuis le serveur automatiquement sans laisser de choix l utilisateur A la fin du t l chargement l authentification mat rielle doit s effectuer sans erreur Idem au r sultat attendu 16 Dans le r pertoire o est install le programme ajouter quelques fichiers divers puis d marrer le client et le refermer de mani re normale sans
146. mportance particuli re au d coupage des parties afin qu elles soient aussi ind pendantes que possible Les trois sch mas qui suivent se d velopperont du plus g n ral au plus d taill 8 1 Structure g n rale Dans un premier temps il est int ressant de consid rer le service dans son ensemble La figure 2 Sch ma g n ral du service permet d avoir un premier aper u de la structure g n rale du service Le service sera divis en trois parties principales La premi re partie repr sente le client lourd lui m me Ce client contient le gestionnaire de s curit et les applications install es La seconde partie est le serveur de s curit qui permet de g rer les demandes d authentification des clients mobiles ainsi que la gestion des envois des applications vers les clients lourds La troisi me partie correspond au x serveur s d applications Chaque application a la possibilit d avoir un serveur d di ce qui permet de placer physiquement ce type de serveurs dans un endroit diff rent de l emplacement du serveur de s curit De ce fait il est possible d avoir plusieurs serveurs d applications chaque serveur pouvant g rer une ou plusieurs applications Les communications entre le client mobile et les serveurs se font de mani re s curis e l aide d un chiffrement des donn es par TLS Transport Layer Security anciennement nomm SSL Secure Sockets Layers De mani re plus d taill e l
147. n du service 19 6 1 Au niveau du serveur Web La cr ation d une cl publique et d une cl priv e au niveau du serveur Web Apache Tomcat dans notre cas est relativement simple 1 Lancer l application suivante avec les param tres suivants IAVA_HOME bin keytool exe genkey alias nomService keyalg RSA ou nomService est le nom souhait pour la paire de cl s priv e et publique 2 Saisir les informations demand es Il faut noter que le Common Name doit tre identique au nom du serveur utilis dans l URL 3 Un fichier keystore pr sent dans le profil de l utilisateur courant sous Windows est alors cr contenant la cl priv e et la cl publique qui sera utilis e par le serveur Web 4 Ouvrir le fichier server xml dans le r pertoire conf de Tomcat et remplacer le commentaire lt lt Connector port 8443 maxThreads 150 minSpareThreads 25 maxSpareThreads 75 enableLookups false disableUploadTimeout true acceptCount 100 debug 0 scheme https secure true clientAuth false sslProtocol TLS URIEncoding UTF 8 gt par lt Connector port 8443 minSpareThreads 5 maxSpareThreads 75 enableLookups true disableUploadTimeout true acceptcount 100 maxThreads 200 scheme https secure true SSLEnabled true keystoreFrile user home keystore keystorePass security clientAuth false ssIProtocol TLS gt puis red marrer le serveur Web
148. n est d marr e en dehors du d lai de d marrage des applications Cette authentification effectue un balayage des appareils Bluetooth pr sents afin de contr ler que le badge ou le t l phone Bluetooth servant d identificateur soit toujours pr sent Si tel n est pas le cas l authentification est consid r e comme invalide Cette authentification ne requiert donc aucune interaction avec l utilisateur Page 94 129 Q Mobile Doctor s Desktop Si le dispositif Bluetooth est d sactiv une erreur est affich e et le client lourd est automatiquement ferm apr s la fermeture de l erreur f g Authentication a WS dx K External authentication required Getting list of nearby devices CITITTITITI Figure 43 Authentification externe par Bluetooth 19 2 8 Mise jour des applications Le service de mise jour proc de en deux tapes Durant la premi re tape le service de mise jour v rifie que toutes les applications prioritaires soient install es et valides et si tel n est pas le cas il t l charge les mises jour ou les installations n cessaires sans laisser de choix l utilisateur Dans la deuxi me tape le service de mise jour v rifie quelles sont les applications install es et v rifie galement leur int grit Si au moins une mise jour a t d tect e ou si l un des fichiers est invalide g Error report La Yx x Error while getting list of bluetooth devi
149. n se trouverait dans un r seau faible d bit Comme le fait de ne pas mettre jour une application pr sente des risques de s curit le d lai de transition permet de rendre une mise jour obligatoire pass ce d lai De mani re plus pr cise ce d lai est compar la date de modification ou d ajout de chaque fichier sur le serveur Si une application non prioritaire poss de au moins un fichier dont la mise jour est obligatoire alors la mise jour de tous les fichiers de cette application devient obligatoire Par d faut chaque fichier est soumis au d lai de transition appliqu au groupe auquel appartient l utilisateur L administrateur peut en revanche s il le souhaite rendre la mise jour d un fichier obligatoire d s sa publication sur le serveur ignorant ainsi le d lai de transition Cela peut tre utile dans le cas d une mise jour destin e la correction d une faille critique L administrateur peut aussi choisir de d sactiver totalement ce d lai de transition pour un ou plusieurs groupes d utilisateurs s il souhaite un maximum de s curit Dans un tel cas l int grit de toutes les applications est assur e car l utilisateur n a plus la possibilit de ne pas mettre jour les applications 10 Pour plus d informations concernant l ajout de fichiers et d applications sur le serveur voir le chapitre 19 3 10 page 105 11 Pour d sactiver le d lai de transition se r f rer au chapitre 19 3 5 pag
150. na tre le mot de passe et que ce dernier soit assez complexe pour ne pas pouvoir tre devin facilement 10 1 1 Avantage Protection efficace 10 1 2 Inconv nients Temps de saisie lev en particulier sur des syst mes mobiles l interface de saisie restreinte Le mot de passe n cessite d tre chang r guli rement afin de garder un bon niveau de protection Le mot de passe peut tre usurp l utilisateur 10 2 Authentification mat rielle Cette m thode d authentification utilise un identifiant mat riel qui est li l appareil mobile de l utilisateur cartes SIM certificats stock s sur des p riph riques amovibles etc Ces identifiants mat riels permettent d authentifier l appareil utilis et ce afin de pouvoir ou non lui accorder l acc s aux ressources demand es 10 2 1 Avantages Aucun change d informations n est n cessaire avec l utilisateur cette authentification est donc transparente pour ce dernier Authentification relativement rapide 10 2 2 Inconv nients L appareil peut tre vol donc l identifiant mat riel de l appareil aussi Page 24 129 TA ICT Mobile Doctor s Desktop Stephen Badan Cette m thode authentifie bien l appareil mais n authentifie pas l utilisateur de l appareil ce syst me d authentification ne peut donc pas tre utilis seul car toute personne en possession de l appareil pourrait acc der aux donn es librement si l apparei
151. nche pas t l chargement du fichier Au final dans la fen tre de engendr la commonDIl dll une fois simulation les fichiers suppression du jar de seulement puis laisser la mise ApplicationX jar o X est le l autre Pack car la jour se terminer num ro du Pack correctement DLL a nouveau t t l charg commonDll dil et t l charg e lors de la Loader jar doivent tre pr sents mise jour de ce dans la liste des applications second pack 8 Fermer le client puis remplacer Apr s le t l chargement du Idem au r sultat Afin d viter des le fichier commonDIl dll par un fichier commonDIl dll un attendu probl mes de fichier diff rent portant le message doit appara tre compatibilit une m me nom Faire de m me indiquant l utilisateur qu un application est mise pour le fichier Application2 jar fichier partag a t mis jour jour si l un de ses Page 82 129 N Lo IICT Mobile Doctor s Desktop Stephen Badan Dans la fen tre des demandes de mise jour s lectionner le Pack 2 uniquement par une autre application et que cela entra ne une mise jour du Pack 3 car ce dernier utilise aussi ce fichier partag Au final les fichiers commonDll dil et Application2 jar sont t l charg s et tous les fichiers sont disponibles fichiers a t mis jour lors de la mise jour d une autre application et ce m me si l utilisateur n a pas s lectio
152. nelle En fin de projet les essais d assemblage des divers services ont pu se faire rapidement et tr s facilement ce qui indique que le travail en quipe a t un succ s Enfin la notion de s curit des applications qui de nos jours semble tre une caract ristique usuelle et normale aux yeux de la majorit des utilisateurs n en est pas moins une r elle difficult assurer pour les d veloppeurs En effet lors de la r alisation d une application il est essentiel en tant que concepteur d imaginer toutes les attaques et toutes les failles qu il serait possible de rencontrer et d exploiter dans les applications Cette r flexion est loin d tre triviale car il est n cessaire de se mettre la place d une personne malintentionn e et de chercher la mani re avec laquelle on arriverait alors passer outre les protections que l on vient de mettre au point Le risque majeur dans cette situation n est pas d au fait de trouver de nouvelles failles car celles ci pourraient alors tre corrig es mais le r el danger serait de ne pas les d celer auquel cas celles ci risqueraient d tre d couvertes plus tard par une personne r ellement malveillante C est la raison pour laquelle il n est jamais possible de garantir l immunit compl te d un syst me de s curit bien que le client lourd et le serveur d velopp s durant ce projet offrent une bonne protection contre les diff rentes attaques possibles Je conclurais en disant que la
153. ner toutes les mises jour puis valider Les applications Application1 Jar commonDIl dll et Application2 jar doivent tre t l charg es Une fois les applications t l charg es la Idem au r sultat attendu Le client ne t l charge qu une seule fois le fichier Application jar car il est partag entre le Pack 2 et le Pack 3 Page 81 129 Toa IICT Mobile Doctor s Desktop Stephen Badan fen tre de simulation des programmes doit afficher les fichiers Application1 jar Application2 jar Loader jar et commonDIl dll 3 Fermer l application et la Aucune mise jour ne doit tre Idem au r sultat red marrer t l charg e cette fois ci car attendu tous les fichiers sont jour 4 Fermer l application supprimer Aucune mise jour prioritaire ne Idem au r sultat Comme le fichier le fichier commonDll dil puis doit tre effectu e puis la attendu commonDIl dil est red marrer le client fen tre de choix doit proposer partag entre Pack 2 l installation des applications et Pack 3 les deux Pack 2 et Pack 3 packs sont propos s pour l installation car ils sont tous deux incomplets 5 A la suite du test 4 Le fichier commonDIl dll doit tre Idem au r sultat Le fichier s lectionner les deux packs t l charg une seule fois puis attendu commonDIl dll tant puis valider la fen tre de test des commun aux deux applications doit s ouvrir avec app
154. nn cette application Un tel processus ne s ex cute que si l application tait d j existante mais ne s applique pas aux applications non install es R it rer le test 8 mais en modifiant au pr alable le param tre d installation automatique faux dans les param tres de l application pour le pack 3 Etant donn que le pack 3 ne peut pas tre mis jour automatiquement alors que le fichier commonDIl dll dont il d pend est modifi les fichiers du pack 3 sont supprim s afin d viter tout probl me Au final il reste les fichiers Application1 jar commonDIl dll et Loader jar dans la liste des fichiers disponibles Idem au r sultat attendu 10 Restaurer la valeur d installation automatique vrai dans les param tres du pack 3 et restaurer tous les fichiers Ensuite modifier les param tres suivants pour les applications ci dessous Pack 1 installation prioritaire faux Pack 3 installation prioritaire vrai Remplacer le fichier commonDIl dll par un fichier diff rent de m me nom et red marrer le client Faire de m me pour le fichier Application Jor Dans la fen tre des mises a jour facultatives ne s lectionner aucune mise a jour et valider Lors des mises a jour des applications critiques le fichier commonDll dil est automatiquement mis a jour sans laisser l utilisateur le choix d annuler le t l chargement Si l utilisateur ne s lectionne pas le Pack
155. ns qui seront mises disposition du m decin dans le client lourd Pour pr server l int grit du service et la protection des donn es l utilisation des applications n cessitera que le m decin s identifie et s authentifie avant de pouvoir les utiliser Mettre jour des applications cette fonctionnalit permettra de garder les applications du client lourd jour en fonction des applications stock es sur le serveur et d assurer leur int grit Authentifier cette fonctionnalit permettra d identifier et d authentifier les m decins afin de leur Page 12 129 gt TA ICT Mobile Doctor s Desktop Stephen Badan donner ou non l acc s au service d sir Cette tape est obligatoire pour toute utilisation du service Cette fonctionnalit est d compos e en trois sous fonctionnalit s e Authentification formelle cette authentification se base sur un mot de passe textuel pour authentifier l utilisateur e Authentification mat rielle cette authentification se base sur des caract ristiques mat rielles permettant d authentifier l appareil utilis par exemple un identificateur unique e Authentification externe cette authentification se base sur un l ment externe qui permet d authentifier le m decin Cette authentification externe peut tre une authentification g ographique du m decin et de son appareil mobile ou encore une authentification biom trique du m decin Ces diff rents types d authentifi
156. nt au tableau R capitulatif des r gles d authentification du chapitre 10 4 7 la page 29 il a t possible de d finir quatre dur es principales pour la gestion des demandes d authentifications D lai de d marrage d applications ce d lai repr sente le temps coul entre le d marrage de la premi re application depuis que ce compteur de dur e a t initialis jusqu au d marrage de la derni re application dans cet intervalle de temps Si une application d marre apr s ce d lai une nouvelle authentification externe est requise D lai d vitement d authentification ce d lai repr sente le temps coul entre l vitement d une authentification formelle afin de pouvoir s authentifier de mani re externe jusqu l obligation d effectuer nouveau une authentification formelle pour compenser l vitement Long d lai p riodique d authentification ce d lai permet d effectuer p riodiquement une authentification formelle et mat rielle Court d lai p riodique d authentification ce d lai permet d effectuer p riodiquement une authentification externe Les authentifications p riodiques courtes ou longues doivent tre ex cut es automatiquement par le client lourd peu importe l tat des applications en cours d ex cution Il en va de m me pour l authentification formelle lors d un vitement d authentification Pour ce faire un processus v rifie chaque seconde si l un de ces trois d lais est
157. nterface graphique Enfin le groupe en jaune repr sente le module de s curit faisant office de lien entre les applications et la classe ClientAuthenticationManager Les groupes repr sentent ainsi chacun une fonctionnalit bien distincte et offrent ainsi une relative ind pendance entre ceux ci Il est noter que l interface ClientConfiguration non repr sent e dans ce diagramme centralise toutes les constantes du client lourd Cette interface est utilis e par la majorit des classes du client dans le but de faciliter la modification des constantes Remarque L adresse du serveur de s curit est stock e de mani re fixe dans l interface ClientConfiguration car la modification de l adresse par l utilisateur n est pas souhaitable et peut pr senter un risque de s curit tel que la connexion un serveur non autoris Page 66 129 Stephen Badan Mobile Doctor s Desktop rune jen j amempapeauasuopesnuapnyueg sante nee Suns sien _sunuoeey dee Dune nen BC tupwa aimpowkunoasiuano En Diagramme des classes du client Figure 26 Page 67 129 Mobile Doctor s Desktop Stephen Badan 16 2 Classes du serveur La figure 27 repr sente les diff rentes classes du serveur de s curit Tout comme le client seules les classes p
158. ntification externe tr s facilement ult rieurement Une solution a cependant t impl ment e titre d exemple afin de d montrer le but de l authentification externe Cette solution se base sur la technologie Bluetooth permettant l appareil mobile de d tecter une tentative de vol Le principe est simple en imaginant que l utilisateur porte sur lui un second appareil Bluetooth tel qu un badge ou un t l phone mobile l appareil mobile se connecte ce second appareil En cas de vol de l appareil mobile la liaison m entre l appareil mobile et le badge se rompt en raison de la port e Lg authen T tx IX limit e de la technologie Bluetooth signifiant que l appareil mobile External authentication required a t vol Si ce cas se produit alors l appareil mobile bloque Getting list of nearby devices nn automatiquement tout acc s au service En pratique l appareil mobile effectue p riodiquement un balayage de tous les appareils Bluetooth aux alentours et enregistre l adresse MAC Medium Access Control de ces appareils Ce balayage est effectu l aide d une librairie externe crite en C et de JNI car le Bluetooth est une fonctionnalit non impl ment e dans la machine virtuelle Java IBM J9 Une fois le balayage effectu une liste contenant l adresse MAC des appareils d tect s est envoy e au serveur Le serveur contr le alors si l adresse MAC du badge ou du eet t l phone Bluetooth
159. num ro falsifi Un contr le du code hach de la librairie externe permet de s assurer de l int grit de la librairie avant la lecture et donc de r soudre ce probl me Il en va de m me du client lourd qui pourrait tre d compil de mani re d sactiver les authentifications Un contr le du code hach du client lourd est donc aussi n cessaire permettant d am liorer la s curit Le sch ma 10 Authentification mat rielle sur Windows Mobile montre le fonctionnement de cette solution sur Windows Mobile 5 0 Ce fonctionnement peut tre r sum de la mani re suivante 1 L authentification mat rielle est appel e par le service de gestion des authentifications Le service d authentification appelle la librairie en C dans le but de lire les informations sp cifiques au t l phone 2 La librairie C lit les informations dans l appareil mobile et les retourne l application Java Ces informations sont o Le nom du fabricant du t l phone Le mod le du t l phone o Le num ro de r vision du t l phone o Le code IMEI du t l phone Le num ro IMSI International Mobile Station Identity de la carte SIM du t l phone 3 Le service d authentification mat rielle re oit ces informations puis envoie le code IMEI et les diff rents codes hach s au serveur qui effectuera une comparaison afin d authentifier l appareil mobile io g P Librairie C DLL gt
160. oints importants D une part la r alisation d un projet de cette ampleur induit in vitablement divers obstacles bien qu aucun probl me trop important ne soit survenu dans le cadre de ce projet La principale difficult a t rencontr e au moment de la cr ation du syst me de mise jour pour lequel la r alisation a t plus complexe que pr vu Les fonctionnalit s suppl mentaires et impr vues ne se sont finalement pas av r es trop probl matiques impl menter car celles ci ont pu tre r alis es sans engendrer de d calage dans la planification Cette difficult a toutefois permis de rappeler qu il est n cessaire de garder des marges de s curit lors de l tablissement des d lais dans la planification en pr vision aux difficult s pouvant appara tre de mani re inattendue D autre part le travail en quipe a t tr s important pour r aliser ce projet Il a t indispensable d tablir des concepts et des sch mas th oriques solides en discutant en groupe avant de commencer la r alisation pratique de l application afin que l int gration des diverses parties de celle ci en fin de projet puisse tre effectu e facilement Cette tude th orique a t r alis e au moment du pr projet de dipl me est s est av r e tr s utile De plus la collaboration au sein de l quipe avec MM Wulliamoz et Probst s est extr mement bien pass e et a t tr s instructive tant du point de vue professionnelle que person
161. ois compil e la DLL doit tre plac e dans le r pertoire sp cifi en 2 Le programme est pr t tre ex cut Hardware authentication in progress se nomme ExTapi en raison de la librairie que ce programme utilise enter Extended Telephony Application Programming Cette librairie permet d extraire diverses informations du t l phone telles que le nom du fabricant le mod le le num ro de r vision le code IMEI ou encore le code IMSI du t l phone J ai adapt ce programme afin qu il retourne les r sultats sous forme d une cha ne de caract res au travers de JNI Le service informations souhait es depuis la cha ne de caract res retourn e d authentification mat riel Java peut ensuite extraire les Du point de vue de la licence sous laquelle le programme d exemple a ns t fourni celle ci autorise de modifier copier et de distribuer les Sen 53 programmes d exemples si l utilisateur accepte les termes de la licence ele MICROSOFT SOFTWARE LICENSE TERMS pour le kit de d veloppement Windows Mobile 5 0 Cette licence est incluse dans d veloppement et est affich e lors de l installation de celui ci le kit de Figure 12 Fen tre d authentification mat rielle Page 39 129 gt TA ICT Mobile Doctor s Desktop Stephen Badan 11 4 _Impl mentation du service d authentification externe Dans le cadre de ce projet en particulier l aspect li a la mobilit du m decin il est n c
162. oit garantir que chaque application install e poss de tous les fichiers n cessaires son ex cution Dans le cas contraire l application ne doit pas tre disponible l ex cution En sachant que certains fichiers peuvent tre communs plusieurs applications les contraintes suivantes doivent tre d finies et respect es 1 Si la mise jour d une application entra ne la modification d un fichier commun entre cette application et une ou plusieurs autres applications alors les autres applications doivent galement tre mises jour 2 En cas de suppression d un fichier commun plusieurs applications toutes les applications utilisant ce m me fichier doivent aussi tre supprim es La premi re contrainte permet de garantir qu aucune application n ait qu une partie de ses fichiers qui soient mis jour et donc un risque d incompatibilit entre les nouveaux fichiers et les anciens fichiers Prenons un exemple Un client mobile poss de deux applications install es Application A contenant les fichiers o Application1 jar o commonDil dil Application B contenant les fichiers e Application2 jar oe CommonDll dl Imaginons que ces deux applications ne soient pas prioritaires qu aucun fichier ne soit jour et que la mise jour de ces fichiers ne soit pas obligatoire Le client lourd proposerait l utilisateur de mettre jour l application A et B Si l utilisateur d cidait ne mettre jour que l appli
163. ojet serait la suivante IAVA_HOME bin javac exe classpath example example Helloworld java Il faut ensuite cr er l en t te du code C ou C en ex cutant la commande javah sur la classe compil e IAVA_HOME bin javah exe classpath example Helloworld A l aide de l en t te fichier h il faut cr er le corps du code fichier cpp puis en g n rer une DLL Pour ce faire j ai utilis le programme Microsoft Visual Studio 2005 Pro sur lequel j ai install le kit de d veloppement Windows Mobile 5 0 SDK 16 Il faut alors cr er un nouveau projet de type C MFC Smart Device DLL Dans le projet il suffit ensuite de copier l en t te g n r par la commande javah puis de compl ter le corps du programme La compilation et l dition des liens ne peuvent s effectuer que si les chemins d acc s vers les libraires JNI sont sp cifi s dans la configuration du programme Dans Visual Studio il faut aller dans le menu Tools Options Project and Solutions VC Directories s lectionner la plateforme Windows Mobile 5 0 s lectionner Include Files puis ajouter les deux chemins suivants IAVA_HOME i nc1lude win32 IAVA_HOME include 8 9 En ce qui concerne la lecture des informations de l appareil mobile j ai utilis et adapt le code fourni dans les exemples du kit de d veloppement Windows Mobile 5 0 de Microsoft L exemple de base o JAVA_HOME est le r pertoire Java courant Une f
164. om que le fichier original Idem au r sultat attendu Seul un fichier portant le m me nom que le fichier original peut tre envoy au serveur 19 1 5 9 Tests de la gestion des attributions des fichiers dans les applications Tous les tests suivants s effectuent lorsque l administrateur est authentifi o Test effectu R sultat attendu S lectionner une application et essayer de lui ajouter et de lui supprimer des fichiers Les fichiers doivent tre ajout s et supprim s de l application en fonction du choix de l utilisateur R sultat observ Idem au r sultat attendu Remarque Si aucun fichier n est s lectionn et que l utilisateur d cide d ajouter ou de supprimer un fichier un message d erreur est affich 19 1 5 10 Tests de la gestion des attributions des applications dans les groupes Tous les tests suivants s effectuent lorsque l administrateur est authentifi o AE Test effectu R sultat attendu S lectionner un groupe et essayer de lui ajouter et de lui supprimer des applications Les applications doivent tre ajout es et supprim es du groupe en fonction du choix de l utilisateur R sultat observ Idem au r sultat attendu Remarque Si aucune application n est s lectionn e et que l utilisateur d cide d ajouter ou de supprimer une application un message d erreur est affich Page 89
165. ombrants que ce soit la t l vision la visiophonie la musique l acc s aux cours de la bourse ou a Internet de mani re g n rale toutes ces fonctionnalit s sont maintenant la port e d un simple t l phone mobile et ce o que l on soit Cette avanc e technologique ouvre de nouvelles portes dans le monde de l information o nous ne sommes dor navant plus limit s un emplacement physique pour effectuer une t che donn e pour peu que nous poss dions une connexion un r seau sans fil En outre l essor des appareils mobiles tels que les t l phones ou assistants personnels a permis de les doter d une puissance de calcul et d une m moire suffisantes pour ex cuter des applications complexes qui taient habituellement r serv es des ordinateurs fixes C est dans ce cadre que l on se propose de d velopper un client lourd sp cialis dans le domaine de la sant mais aussi utilisable dans d autres domaines tels que le domaine bancaire ou le domaine financier Bien que la notion de client lourd puisse au premier abord para tre assez absconse elle pourrait tre compar e une plateforme sur laquelle pourront venir s ajouter d autres applications ayant des fonctionnalit s tr s sp cifiques telles que la gestion de clients ou de rendez vous Le client lourd s occuperait alors de g rer l ex cution la s curit les mises jour et les communications de ces applications Il vient alors la question de l utilit
166. on Pack 2 ne doit pas tre d cochable car Idem au r sultat attendu Le t l chargement du fichier peut tre supprim comme Page 84 129 D LOS IICT Mobile Doctor s Desktop Stephen Badan fichier Application1 jar par un fichier diff rent de m me nom et param trer la mise jour de ce fichier comme tant prioritaire sur le serveur la mise jour de cette application devient prioritaire en raison du fichier prioritaire Application1 jar qu elle contient La mise jour de ce fichier doit donc se faire n importe quelle autre application non prioritaire 20 Restaurer les param tres sur le serveur puis modifier le d lai de transition des mises jour des fichiers pour le groupe de l utilisateur courant afin que ce d lai soit inf rieur au temps coul depuis la derni re mise jour du fichier sur le serveur Idem au r sultat attendu du test 19 Idem au r sultat attendu 21 Restaurer les param tres sur le serveur puis interdire le d lai de transition des mises jour des fichiers pour le groupe de l utilisateur courant sur le serveur Idem au r sultat attendu du test 19 Idem au r sultat attendu 22 A la suite du test 21 supprimer le fichier Application1 jar et red marrer le client lourd Aucune installation ou mise jour ne doit tre obligatoire cette fois ci car le fichier Application1 jar n est pas install s
167. on externe est ici une authentification biom trique titre d exemple Dans l exemple de la figure 7 il est possible d observer que la premi re authentification biom trique s effectue apr s 60 secondes L authentification elle m me requiert 6 secondes temps estim puis le compteur est remis z ro Soixante secondes plus tard une nouvelle authentification biom trique est requise durant elle aussi 6 secondes Au total 132 secondes se sont coul es depuis le d but Comme une seule authentification peut se faire en m me temps l authentification mat rielle et formelle qui auraient d se d clencher apr s 130 secondes sont effectu es apr s l authentification biom trique Il est noter que de tels d lais ne sont donn s qu titre d exemple et afin de pouvoir effectuer des v rifications d exactitude en pratique Ils seraient toutefois bien trop courts en utilisation normale Authentification biom trique D marrage du gestionnaire d authentifications Fin de l authentification biom trique 6s 60s 6s 20s 60s gt gt gt ns s 60s Fin de l authentification mat rielle et Fin de formelle l authentification biom trique Authentification mat rielle et Authentification formelle biom trique Figure 7 Diagramme temporel de la gestion des authentifications en situation normale La figure 8 repr sente la m me situation que la figure pr c dente mais l authentification f
168. ont en effet vides Ce probl me n appara t toutefois pas avec Internet Explorer Cette erreur est probablement due un probl me au niveau des tampons de r ception des fichiers qui ne sont pas vid s correctement sur le serveur Le client lourd ne fonctionne actuellement que sur Windows Mobile 5 0 en raison de l utilisation de JNI et de librairies DLL qui ne sont compatibles qu avec le syst me de Microsoft La portabilit de l application n est donc garantie que sur des syst mes compatibles avec ce type de librairies Ce probl me est d l impossibilit d acc der aux ressources du syst me d exploitation depuis Java directement n cessitant ainsi l utilisation de JNI pour les authentifications externes par Bluetooth et mat rielles par la lecture du code IMEI L utilisation de PDA ou de t l phones mobiles engendre par ailleurs des probl mes inh rents aux appareils mobiles Parmi les diff rents probl mes qu il est possible de rencontrer le principal d entre eux est la perte de la connexion au serveur lorsque l utilisateur se d place et qu il entre dans un environnement sans r seau tunnels sous sols etc Le client lourd tant d velopp pour fonctionner avec un serveur l utilisateur ne pourrait pas continuer utiliser le client lourd dans un tel environnement Il se peut aussi que l adresse IP de l appareil mobile change en cours d ex cution si l utilisateur se d place et que le PDA se connecte une autre borne Wi Fi
169. ormelle est vit e par l utilisateur Page 34 129 D Mobile Doctor s Desktop Stephen Badan Authentification Authentification biom trique biom trique Fin de l authentification D marrage du biom trique gestionnaire ee d authentifications 6s 60s 6s 20s bs 20s 10s 60s 6s Fin de l authentification biom trique Authentification biom trique gt gt gt D sr gt gt e 60s Evitement de l authentification Authentification formelle formelle Fin de Fin de l authentification formelle l authentification biom trique Authentification mat rielle et Authentification formelle biom trique Figure 8 Diagramme temporel de la gestion des authentifications en situation d vitement Il est possible de remarquer que la figure est identique jusqu la premi re authentification formelle A ce moment l l utilisateur d cide d viter l authentification formelle Cet vitement engendre la demande d une authentification biom trique qui dure 6 secondes Un d lai d vitement se d clenche d s la fin de l authentification biom trique et effectue une demande d authentification formelle non vitable 30 secondes plus tard Ici aussi les d lais utilis s ne sont donn s qu titre d exemples et de v rifications pratiques ceux ci tant bien trop courts pour tre utilis s en r alit 11 2 Impl mentation du service d authentifica
170. ot de passe puis valide la saisie Le m decin peut alors ouvrir d autres applications Imaginons que nous avons disposition les applications A B C et D pour ce m decin Il ouvre l application A et commence l utiliser 8h10 e Le m decin souhaite ouvrir l application B Une authentification biom trique est requise car l ouverture de l application B s est faite apr s les 5 minutes suivant l ouverture de l application A 8h25 e Une authentification biom trique est requise afin de contr ler que ce soit bien le m decin qui utilise l appareil mobile ce qui est le cas ici 8h30 2 Le m decin a termin de travailler sur l appareil mobile et le met dans sa poche 9h00 e Une alerte est d clench e et l appareil mobile le signale Le m decin doit s authentifier de mani re biom trique avant de pouvoir traiter l alerte 9h10 e L alerte est trait e et le m decin remet l appareil dans sa poche 12h00 e Une authentification mat rielle est automatiquement effectu e puis une authentification formelle est affich e l cran Le m decin ne sort cependant pas l appareil de sa poche 15h00 e Une alerte est d clench e le m decin est toujours invit s authentifier de mani re formelle Cependant au vu de l urgence le m decin s lectionne de contourner l authentification formelle en utilisant l authentification biom trique et s authentifie de cette mani re L urgence n cessite l appel d une ambulance le m de
171. p riodiquement en effectuant une demande d authentification Toutefois le d lai entre les demandes d authentifications tant relativement court une m thode d authentification n cessitant peu d interaction avec l utilisateur mais qui permette tout de m me de v rifier l identit du m decin est donc n cessaire Dans ce cas l la m thode d authentification la plus appropri e cette situation serait la suivante Authentification externe Cette authentification serait demand e toutes les 15 minutes cette dur e sera param trable peu importe l application utilis e Ceci permet de limiter l acc s 15 minutes au maximum si l appareil mobile a t vol ensuite de quoi tout le service est bloqu et demande une nouvelle authentification Cette authentification sera par ailleurs aussi demand e lors du d marrage de nouvelles applications Cette seconde contrainte permet si une personne non autoris e utilise l appareil mobile de ne pas avoir la possibilit d ouvrir de nouvelles applications Une telle personne serait donc limit e aux applications d j ouvertes En revanche le m decin doit parfois ouvrir plusieurs applications dans un cours laps de temps il faut alors viter de lui demander de s authentifier chaque ouverture d application Ceci peut tre fait en introduisant un d lai durant lequel le m decin peut ouvrir des applications sans demandes d authentifications Ce d lai serait typiquement de 5 minut
172. par exemple Ce probl me n a en revanche pas de cons quences importantes sur le client lourd car c est ce dernier qui initie les connexions vers le serveur et non l inverse Au niveau de la s curit un appareil mobile peut tr s facilement tre vol ce qui peut pr senter un risque au niveau de la confidentialit des donn es Les authentifications et autres mesures de s curit impl ment es dans le cadre de ce projet permettent de r duire les risques encourus dans un tel cas Enfin le dernier probl me principal concerne l autonomie des appareils mobiles En effet l utilisation de plusieurs technologies de communications sans fil simultan ment telles que la t l phonie le Bluetooth et le Wi Fi diminue consid rablement l autonomie du PDA Lors d une telle utilisation il faut s attendre une autonomie de quatre huit heures au maximum avec les appareils mobiles actuels Il serait donc n cessaire pour l utilisateur du client lourd d effectuer une recharge compl te de la batterie r guli rement ou de poss der plusieurs batteries qu il serait possible de changer en cours d utilisation ce qui peut s av rer tre tr s contraignant 15 Pour plus d informations voir le chapitre 19 1 6 la page 91 16 Pour plus d informations voir le chapitre 19 1 5 8 la page 88 Page 76 129 TA ICT Mobile Doctor s Desktop Stephen Badan 18 Conclusion Le d veloppement de ce projet a permis de soulever plusieurs p
173. pe avant d effectuer l tape del l authentification mat rielle Total session 5 Date Du 18 09 2007 au 21 09 2007 a Temps effectu att Lace Suite donner r f rences ans D 5 T che P riodes Explications qu est ce qui a t fait et comment IETS EAEN ETS a Impl mentation 3 Recherche et impl mentation d une m thode permettant d extraire le code authentification mat rielle IMEI du t l phone et de le v rifier sur le serveur Rapport 1 Mise au propre du journal de travail et d but du rapport Absences impr vus 1 Je ne f d ral Total session 5 Date Du 25 09 2007 au 28 09 2007 A Temps effectu en ZE i Suite donner r f rences mir 2 Tache P riodes Explications qu est ce qui a t fait et comment eee P 2 Impl mentation de la gestion des authentifications et cr ation impl mentation contr le des S Geer 9 S S ne 2 d applications d exemple pour tester le bon fonctionnement de la gestion applications i S des authentifications impl mentation contr le des 1 Cr ation d une application d exemple applications Tests et corrections 1 Tests du service de gestion des demandes d authentification R solution d un probl me de fermeture li l application de test L erreur R al atoire emp chant parfois certaines threads de se terminer la Tests et corrections 1 G EE EE SE fermeture de l applicat
174. pertoire lt Repinstall gt Client chapitre 19 3 10 la page 105 Ajouter la machine virtuelle utilis e par les appareils mobiles chapitre 19 3 8 page 104 Ajouter le syst me d exploitation utilis par les appareils mobiles en sp cifiant l application Client comme client lourd et en sp cifiant la machine virtuelle cr e pr c demment chapitre 19 3 9 page 104 Ajouter un nouvel appareil mobile chapitre 19 3 6 page 103 Ajouter un nouvel ensemble de param tres de s curit chapitre 19 3 5 page 102 Ajouter un nouveau groupe d utilisateurs chapitre 19 3 4 page 102 Ajouter un nouvel utilisateur chapitre 19 3 3 page 101 Page 117 129 TA ICT Mobile Doctor s Desktop Stephen Badan Assigner l appareil mobile cet utilisateur chapitre 19 3 7 page 103 Le serveur de s curit poss de a pr sent les param tres minimaux pour tre pleinement fonctionnel 19 7 2 Installation du client lourd L installation du client lourd est relativement simple Il est en revanche n cessaire de proc der des configurations de Windows Mobile et de l appareil mobile afin que le client lourd puisse tre utilis dans des conditions optimales 19 7 2 1 Configuration de Windows Mobile Dans un premier temps il est n cessaire de corriger un probl me de gestion de m moire de Windows Mobile En effet Windows Mobile g re lui m me l attribution de la m moire aux applications et ne ferme ainsi pas les app
175. pes suivantes 1 Calcul du code hach de la librairie externe DLL 2 Calcul du code hach du client lourd 3 Appel de la librairie externe par le programme Java 4 Extraction des informations de l appareil mobile par la librairie et retour de ces informations au programme Java 5 Envoi du code hach du client de la librairie et du code IMEI au serveur pour v rification de la validit de l authentification 11 3 2 R alisation pratique Au niveau pratique les principales tapes pour cr er la librairie et pour y acc der sont les suivantes 1 Cr ation de l application Java en incluant une m thode de lecture avec le mot cl native 2 Appel la librairie externe en ajoutant la m thode System load dans un bloc static Il faut indiquer cette m thode le chemin o sera plac e la DLL afin que la machine virtuelle puisse la charger 3 Compilation de la classe l aide de la commande javac Il faut noter que m me si la version Java utilis e sur le client lourd est la version Java ME CDC 1 1 quivalent Java SE 1 4 2 il est tout Page 38 129 K Mobile Doctor s Desktop Stephen Badan fait possible d utiliser une version plus r cente de javac pour compiler la classe En effet la classe compil e n est utilis e que pour g n rer l en t te C de la librairie Ainsi si la classe s appelle HelloWorld et que cette classe appartient au paquetage example la commande dans le r pertoire courant du pr
176. plication i The main application needs to be restarted please reopen the application once it has finished working Figure 37 Avertissement de red marrage du client lourd 19 2 4 Mise jour de la libraire d authentification f 39 Console finished Yy 4x IX File Edit x Updating client application do not abort Update of the client application is done Figure 36 Fin de la mise a jour du client lourd Une fois le client lourd jour celui ci va v rifier l int grit de sa librairie d authentification Si la libraire est obsol te ou invalide le client lourd t l charge la nouvelle version sur le serveur et l installe Aucun red marrage n est n cessaire dans ce cas l 19 2 5 Authentification mat rielle f 3 Update manager E Vu x X Update process in progress Checking the version of the library CT Downloading file mobileDeviceServices dll Eana Figure 38 Mise jour de la libraire d authentification Le client lourd et la librairie d authentification tant jour le client d clenche une authentification mat rielle afin d identifier l appareil mobile utilis Aucune action n est requise de la part de l utilisateur Il est noter que la tentative de fermeture de la fen tre d une quelconque authentification engendre la fermeture du client lourd dans le but d viter tout risque de s curit Cette authentification est gale
177. plications qu est ce qui a t fait et comment impl mentation des communications en XML entre le client et le serveur en Echanges de fichiers XML 2 utilisant JAXB et KXML Impl mentation 1 Impl mentation de la bo te de dialogue sur le client et des contr les sur le authentification formelle serveur Impl mentation connexion 2 Impl mentation d une connexion s curis e l aide de TLS entre le client et SSL le serveur en utilisant un certificat du c t du serveur Total session 5 Page 120 129 Pr Mobile Doctor s Desktop Stephen Badan de s curit Date Du 11 09 2007 au 14 09 2007 T che Muse Explications qu est ce qui a t fait et comment Ko Pense Impl mentation connexion 1 impl mentation d une connexion s curis e l aide de TLS entre le client et SSL le serveur en utilisant un certificat du c t du serveur Impl mentation ID temporaire 2 impl mentation d un identficateur de s curit pour que le serveur reconnaisse le client une fois authentifi Impl mentation authentification formelle Transformation de l interface graphique en utilisant SWT au lieu de AWT en raison de limitations d AWT impl mentation contr le des applications D but de l impl mentation des changes de messages entre le client et le serveur dans le but de faire des contr les de s curit d applications En raison d un programme manquant j ai commenc cette ta
178. porter le certificat personnel permettant de se connecter au r seau de l entreprise puis le convertir au format pfx Nous nommerons ce fichier certPerso pfx Exporter le certificat du ou des CA Certificate Authority ayant mis le certificat personnel L exportation doit se faire au format DER X 509 cer Dans notre cas nous le nommerons certifCA cer Copier ces deux certificats sur l appareil mobile ou plus si d autres CA sont pr sents Sur l appareil mobile ouvrir le certificat certifCA cer afin de l installer Faire de m me pour les autres certificats de CA si n cessaire Ex cuter le programme pfximprt exe sur le PDA puis importer le certificat personnel certPerso pfx Enclencher le Wi Fi puis cliquer sur le r seau sans fil d sir et cliquer sur Connexion Dans la page de param tres qui s ouvre choisir Internet s lectionner le cryptage TKIP et le type EAP Carte puce ou certificat puis cliquer sur Terminer Une fen tre risque de s ouvrir demandant le nom de l utilisateur et le domaine cliquer sur OK jusqu ce que la fen tre n apparaisse plus Windows Mobile 5 devrait pr sent tre apte se connecter au r seau sans fil Page 119 129 Zen o ICT Mobile Doctor s Desktop Stephen Badan 19 8 Journal de travail Ce journal de travail est bas sur un mod le cr par l Ecole Technique et des M tiers de Lausanne ETML et repr sente les dur es planifi es et les dur es effectives pour chaqu
179. ppareil mobile Cette application nomm e client lourd sera install e sur t l phone mobile ou un assistant personnel lectronique et devra g rer la s curit d acc s et la mise jour d applications m dicales install es sur ce client L objectif de ces applications m dicales d velopp es dans le cadre de deux autres travaux de dipl me est d offrir aux m decins des outils de consultation de fiches de patients distance ainsi que des outils de gestion d alertes provenant de personnes victimes de probl mes m dicaux tels que des malaises Ce client lourd permettra ainsi aux m decins de travailler en d placement tout en gardant un haut niveau de s curit Certaines personnes se demanderont alors juste titre de quelle mani re la s curit peut tre assur e La premi re partie de ce dossier r pondra cette question en montrant comment un syst me d authentification forte peut emp cher les acc s ind sirables un appareil mobile Ce syst me sera compos d une authentification mat rielle de l appareil mobile d une authentification formelle de l utilisateur et d une authentification externe utilisant la technologie Bluetooth Mais la s curit ne s arr te pas l les applications qui seront automatiquement install es sur le client lourd pourront tre expos es au risque de ne plus tre jour lors de la publication de nouvelles versions sur le serveur Il s ajoute a cela que ces applications pourraient tre cop
180. pplications Il lui suffit pour cela de choisir le groupe d utilisateurs puis d ajouter ou de supprimer les applications que le groupe est autoris utiliser Remarque Les applications de type client lourd applications r f r es par au moins un syst me d exploitation ne sont pas affich es dans la liste des applications en raison de la gestion diff rente de ce type d applications par rapport aux applications habituelles 19 3 11 Gestion de la configuration du serveur Les param tres du serveur peuvent galement tre modifi s depuis le service d administration Ces param tres sont Le nom de login au service d administration utilis pour authentifier l administrateur Le mot de passe d acc s au service d administration utilis pour authentifier l administrateur L adresse vers le serveur de fichiers Le nom de login pour la connexion au serveur de fichiers Le mot de passe pour la connexion au serveur de fichiers Le r pertoire dans lequel les fichiers sont stock s au niveau du serveur de fichiers gt gt OS Le d lai de v rification des sessions invalides Cette v rification passe en revue toutes les sessions ouvertes par les utilisateurs et supprime celles dont la dur e de validit est chue Ce d lai permet de d finir la p riodicit des v rifications D lai de validit des sessions Ce d lai sp cifie le d lai durant lequel une session d utilisateur est valide Si
181. pprime ensuite tous les fichiers qui ne sont pas autoris s tre utilis s ainsi que tous les fichiers appartenant aux applications qui ont t marqu es comme tant supprimer lors des mises jour apr s une annulation de t l chargement par exemple Il supprime galement toutes les applications dont il manque au moins un fichier Il est a noter qu un fichier partag entre plusieurs applications n est supprim que si aucune autre application l gitime ne l utilise Si l un des fichiers ne peut pas tre supprim par exemple en raison d une protection d criture sur ce fichier alors ce fichier est marqu comme tant supprimer par la machine virtuelle la fermeture Page 46 129 Pr Mobile Doctor s Desktop Stephen Badan normale de celle ci Ce fichier bien que toujours pr sent dans le r pertoire du client lourd n est pas inclus dans la liste finale des fichiers qui sont autoris s tre ex cut s et qui est transmise au chargeur d applications Cela permet de s assurer que l ex cution de ce fichier ne soit pas possible 12 9 Chargeur d applications Le chargeur d applications permet de charger les applications install es sur le client lourd La notion d applications au sens regroupements de fichiers n est utilis e que dans le cadre des mises jour afin d assurer que les fichiers soient t l charg s correctement mais n est plus utilis e pour la suite de l ex cution du client lourd Le cha
182. r deux identifiants distincts est d viter qu une faille de s curit au niveau d une application externe ne puisse tre utilis e dans le but de r cup rer l identifiant de s curit du client lourd auquel cas des requ tes ill gitimes sur le serveur de s curit pourraient tre effectu es Une telle faille permettrait par exemple de d connecter un utilisateur du serveur de s curit son insu et donc d effectuer un d ni de service Deux contraintes doivent cependant tre respect es pour ces deux identifiants d une part ils doivent rester confidentiels entre le client et le s serveur s Cela ne pose pas de probl me particulier en raison de l utilisation d une connexion s curis e D autre part l identifiant doit tre assez complexe pour qu il ne soit pas possible de le reconstituer ou de le deviner facilement La m thode utilis e pour g n rer cet Page 54 129 TA ICT Mobile Doctor s Desktop Stephen Badan identifiant expliqu e ci dessous devrait permettre d assurer une protection suffisamment efficace 13 3 2 G n ration des identifiants de s curit Les identifiants de s curit sont g n r s chaque fois que l utilisateur effectue une authentification formelle La raison de ce choix tient au fait que l authentification formelle n cessite plusieurs param tres le nom de l utilisateur son mot de passe ainsi que le num ro IMEI de l appareil mobile qu il est en train d utiliser Toutes ces information
183. re RepTruststore System setProperty javax net ssl trustStorePassword PassTruststore o RepTruststore est le r pertoire dans lequel le magasin est stock incluant le nom du magasin et PassTruststore est le mot de passe du magasin saisi la commande pr c dente L appareil mobile peut maintenant ouvrir une connexion s curis e sur le serveur 19 6 3 Exportation du certificat pour le serveur de fichiers Une exportation du certificat est galement n cessaire pour que le serveur de s curit puisse se connecter au serveur de fichiers de mani re s curis e La proc dure pour exporter le certificat est tr s similaire celle d crite pour les appareils mobiles II faut toutefois utiliser le keytool Java standard pour cr er le truststore IAVA_HOME bin keytool import alias nomService keystore truststore file certFile o le nom du service doit correspondre celui utilis par le serveur et o le nom donn par l option file doit correspondre au certificat pr c demment export Enfin le nom donn a l option keystore est celui qui sera utilis dans le code Java pour ouvrir le magasin des certificats autoris s Page 114 129 Pr Mobile Doctor s Desktop Stephen Badan 19 7 Installation du service Ce guide a pour but d expliquer comment installer le service de s curit tant au niveau du serveur qu au niveau du client afin qu il puisse tre rapidement fonctionnel Les fichi
184. re de l empreinte vers le serveur pour la v rification Le prix de la licence pour cette solution est de USS 500 mais n impose aucune limite quant au nombre d utilisations de la licence Une version de d monstration contenant l entier du SDK est disponible pour 90 jours 17 Sun propose aussi une solution pour une authentification biom trique reposant sur plusieurs de ses solutions de s curit telles qu Access Manager gestion centralis e de la s curit pour des applications Web JAAS Java Authentication and Authorization Service et SSO Single Sign On permettant de s authentifier une seule fois pour toutes les applications qui sont toutes gratuites 18 Ces services de SUN permettent de mettre en place l infrastructure n cessaire un service d authentification sp cifique tel que le serveur BiObex 19 qui g re les authentifications par empreintes digitales Malheureusement le serveur BiObex est une solution destin e aux grandes entreprises et n est pas libre au Figure 13 Exemple t l chargement De plus aucune information n est donn e quant son prix d empreinte digitale Enfin bien que cette solution soit tr s certainement efficace l infrastructure utilis e lors d une n cessaire sa mise en place est lourde et peu adapt e mon projet en raison de l authentification l int gration relativement difficile de cette infrastructure avec le projet et son biom trique manque de flexibilit concernant la ges
185. re de trois travaux de dipl me diff rents ce guide a pour but de montrer comment int grer les diff rentes parties afin qu elles puissent fonctionner ensemble Au niveau du client lourd il est n cessaire d int grer le chargeur d applications dans le client de s curit Le client de s curit est compos de trois paquetages diff rents Paquetage client qui contient le client de s curit Paquetage xm Classes qui contient les classes utilis es pour stocker les requ tes XML au format Java Paquetage HeavyClient qui est pr vu pour accueillir le chargeur d applications Il contient actuellement l application de simulation de requ tes Pour int grer les deux clients dans une seule application il faut proc der la mani re suivante R cup rer les fichiers sources du chargeur d applications et du client de s curit Supprimer le r pertoire HeavyClient contenu dans les sources du client de s curit Copier les r pertoires GUI HeavyClient RequestManager ToolsBox et le fichier language properties depuis les sources du projet du client d applications vers les sources du client de s curit Ouvrir le fichier ApplicationManager java et supprimer la m thode main Ouvrir le fichier ClientConf java Modifier la valeur de la constante PATH par le r pertoire o sera install le client lourd au niveau de l appareil mobile Modifier la constante LOCAL _EXECUTION false Compiler le p
186. rgeur d applications impl ment dans le cadre d un autre travail de dipl me travaille au niveau des fichiers directement c est la raison pour laquelle il re oit la liste des fichiers install s et autoris s tre ex cut s lorsqu il est instanci Remarque Pour des raisons de s curit le chargeur d applications ne doit utiliser que la liste des fichiers autoris s tre ex cut s transmise en param tre lors de la cr ation du chargeur Il se peut en effet que certains fichiers non autoris s se trouvent encore dans le dossier du client lourd s ils n ont pas pu tre supprim s en raison par exemple d une protection d criture 12 10 Gestion des mises jour Le processus de mise jour est repr sent dans le sch ma 18 Diagramme d activit s des mises jour et de l installation des applications la page 49 Les tapes principales sont d taill es ci dessous D marrage du client lourd l utilisateur d marre le client lourd Contr le de version de la machine virtuelle le service de mise jour v rifie si la version de la machine virtuelle est jour Dans le cas o le mod le ou la version de la machine virtuelle ne sont pas identiques ceux stock s sur le serveur alors le client lourd affiche un message d erreur indiquant l utilisateur que la machine virtuelle doit tre mise jour par l administrateur Le client est ensuite ferm automatiquement La raison de c
187. rincipales sont repr sent es dans ce diagramme Le serveur est d compos en quatre groupes distincts Le groupe en rouge repr sente le service de mise jour Nous y trouvons o La servlet ServietUpdate permettant aux clients lourds de s y connecter dans le but d effectuer des demandes d envoi de fichiers d applications Cette servlet utilise un parseur XML JAXB afin de traduire la requ te XML en requ te Java puis transmet cette derni re au r partiteur de requ tes de mises jour ServerUpdateRequestDispatcher et re oit en retour le flux vers le fichier si la requ te a t valid e et accept e La servlet transmet ensuite le fichier au client La classe ServerUpdateRequestDispatcher permet de r partir les requ tes qui concernent le service de mise jour au sein de celui ci De mani re plus pr cise cette classe contr le le nom de la m thode demand e dans la requ te extrait les param tres de la m thode puis redirige cette requ te vers la m thode concern e dans le gestionnaire des mises jour ServerUpdateManager La classe ServerUpdateManager v rifie la l gitimit de la requ te en v rifiant quel utilisateur l a mise et si l utilisateur est autoris recevoir le fichier qu il demande Dans le cas o la requ te est l gitime cette classe fait appel la classe ServerFileAccess afin de r cup rer le flux vers le fichier depuis le serveur de fichiers puis retourne ce flux aux classes des co
188. rner JavaScript au niveau du client et donc de contourner les contr les des valeurs saisies les champs critiques sont nouveau contr l s par le serveur ce qui diminue les risques de saisies invalides D autre part tant donn que seul l administrateur du service a acc s ces formulaires le risque que ce dernier contourne volontairement des syst mes de protection dans le but de nuire au service dont il est responsable est tr s faible Enfin les champs critiques tels que le champ d authentification de l administrateur sont contr l s afin d viter toute tentative d injection SQL 14 L injection SQL consiste utiliser des caract res sp ciaux dans un champ de saisie d un site Internet dans le but d ins rer des commandes pouvant alt rer les donn es contenues dans la base de donn es Page 60 129 Q Mobile Doctor s Desktop Stephen Badan 15 Base de donn es 15 1 Mod le conceptuel SC Securitysettings id name login formalAuthenticationMaxTries pome externalA uthenticationM axTries sumame hardwareAuthenticationM axTries accountDisabled l 1 Nid User ON de authentication voidanceDelay formalAuthenticationKey applicationStartA uthenticationDelay formalAuthenticationTries shortPeriodicY erificationDelay extemal uthenticationKey longP eriodicY erificationDelay externaAuthenticationTries DN applicationUpdateTransitionDelay gr Program Group 1 N D
189. rojet et cr er l archive Jar Au niveau des certificats il est n cessaire d importer le certificat du serveur d applications dans le truststore existant de l appareil mobile afin que les applications du client lourd puissent communiquer avec leur serveur Il est galement n cessaire d importer le certificat du serveur de s curit dans le truststore utilis par le serveur d applications pour les contr les des identifiants de s curit des applications Pour de plus amples informations concernant la m thode suivre pour importer les certificats voir le chapitre 19 6 2 la page 113 Il est maintenant n cessaire d ajouter les applications sur le serveur de s curit afin que celles ci soient automatiquement ajout es sur les clients lourds Ouvrir le service d administration l aide d un navigateur Internet Ajouter les applications Alert FichePatient RendezVous en tant qu applications non prioritaires mais installables automatiquement Ajouter l application System en tant qu application prioritaire et installable automatiquement Ajouter les fichiers suivants dans les applications o gt ahooga wav et NativeToolsBox dans System o gt Alert jar et FichePatient jar dans Alert 19 En cas de probl mes pour l ajout des applications et des fichiers se r f rer au chapitre 19 3 10 page 105 Page 109 129 TA ICT Mobile Doctor s Desktop Stephen Badan o FichePatient jar dans FichePatient o
190. rrompu pour un fichier valide Remarque Le serveur ne poss dant que le code hach de la version la plus r cente des fichiers dans sa base de donn es la d tection d un fichier invalide par le client ne permet pas de savoir si ce fichier est simplement une ancienne version ou s il s agit d une nouvelle version qui a t corrompue Cet inconv nient ne peut devenir un probl me que lorsque le fichier en question appartient une application de cat gorie 3 dont la mise jour est optionnelle auquel cas l utilisateur pourrait choisir de ne pas mettre jour l application et donc d utiliser une version potentiellement corrompue du fichier Cela explique la raison pour laquelle l int grit une application de cat gorie 3 ne peut pas tre assur e Le d lai de transition a t impl ment afin de limiter la dur e durant laquelle la mise jour d une application est optionnelle chapitre 12 3 Ce probl me est toutefois inexistant pour les applications de cat gorie 1 ou 2 car les mises jour de ces applications se font automatiquement sans laisser le choix l utilisateur A titre de rappel l administrateur du service peut d sactiver le d lai de transition afin de rendre toutes les mises jour obligatoires ce qui garantit qu aucune application ne poss de de fichiers corrompus ou obsol tes et donc qu aucune application n appartienne la cat gorie 3 12 5 Types d installation Une application peut tr
191. s Log out authorized Users and groups Add a new user Manage users Add Manage groups Modify an existing user Modify Delete an existing user 1 Delete Manage mobile device attributions bjohnson Mobile devices Manage mobile devices bjohnson Manage virtual machines Manage operating systems Security Manage security settings Termin security server 8443 8 Proxy HEIGVD D Figure 54 Gestion des utilisateurs G n ralement une t che permet d ajouter modifier ou supprimer un l ment choisi ici des utilisateurs Certaines t ches peuvent cependant proposer des actions sp cifiques comme l attribution d appareils mobiles par exemple o le choix est alors restreint la modification seulement 19 3 3 Gestion des utilisateurs Manage users Il est possible d ajouter de modifier ou de supprimer des utilisateurs du service de s curit Les param tres de l utilisateur sont les suivants Le nom de login de l utilisateur Ce nom ne doit tre compos que de lettres ou de chiffres Les signes ponctu s ne sont pas permis Ce nom est utilis lors des authentifications des utilisateurs sur les clients mobiles c est pourquoi il doit tre unique Le nom et le pr nom de l utilisateur Le groupe auquel l utilisateur appartient Un utilisateur ne peut appartenir qu un seul groupe la fois Le mot de passe formel de l utilisateur qui sera demand lors des authentifications for
192. s en addition au temps actuel en millisecondes et un nombre al atoire sont combin es afin de g n rer un identifiant unique qui est alors hach l aide de l algorithme MDS L illustration de ce processus est donn e dans la figure 20 G n ration des identifiants de s curit Lorsqu une authentification formelle s effectue alors qu un identifiant existe d j pour cet utilisateur alors l ancien identifiant est remplac par le nouvel identifiant De plus chaque identifiant poss de un d lai de p remption Si ce d lai est chu l identifiant est automatiquement supprim lors du nettoyage p riodique des sessions Un utilisateur essayant d acc der au serveur en ayant un identifiant de s curit chu ou invalide se verra refus d acc s Il est noter que le d lai de validit des identifiants peut tre param tr par l administrateur du service 13 3 3 S curit de l identifiant La g n ration de l identifiant de s curit est difficile deviner car elle combine plusieurs informations diff rentes dont certaines ne sont connues que par l utilisateur telles que son mot de passe De plus l ajout de l heure en millisecondes l ajout d un nombre al atoire et le hachage de toutes ces informations rendent la falsification d un tel identifiant tr s difficile La solution qui vient alors l esprit est d effectuer une attaque par force brute ce qui signifie que la personne malintentionn e tente de trouver un id
193. s settings public Sting 0 remove SecuriySetings SecuritySetings settngs publi baolean addGroup Group group public boolean modi Groupl Group group publie Sting removeSroupt Group group ubllevirualvachine gtyualMachine int vid public VirtuelMachine 0 aet tualMachines abAccess publie ooolesn adevinuaiachine VitualMaching vm ServerDataBaseAccessSecurity From server public boolean modiiirtualMachine VirualMachine wm publie OparatingSystemo rernoveVitualitachine irtwroid public Program 0 gePrograms Ess private String DENAME publie rogrem 9 geProgramstint group publie boolean adeProgram Program program publie SoneiDataBasekssoseSocunty Sting DBPATH Sining DENANE Sting DBUSER Sting DBPASS publie StinalD 1 getUserLoginList String deviceld publie Securiysetings getseeuriySstinge sting userLogin public int InerementFormalauthenticatonTi String userLoain publie vold setFormalAuthenticationTies Suing userLagin tie public int incr mentEtemalAuienticaionTm Sting user ee publie void gereest Suing userLogin in tias publie vold lockUsorAccount Sting userLogin publie Program getUserP rogramst String user oui publie Sting gatUsorroList Sting ussrLocin public ApplicatiorFile ml Stina apoicetionName Sting fileName puntie Oparatingsystem getOneratingsystem Sting name Sting architecture Sting version public boolean ch
194. sateur sont pr sent s ci dessous Page 98 129 vg o ICT Mobile Doctor s Desktop Stephen Badan 19 2 9 1 Identifiant de s curit invalide Lorsqu aucune authentification formelle n est plus effectu e durant un d lai prolong environ 1 jour en fonction du d lai de validit des sessions param tr par l administrateur un message d erreur tel que celui ci risque de s afficher lors de l authentification f g Error report Error report Security session id is no more valid please reconnect Figure 50 Identifiant de s curit invalide Cette erreur est due l expiration de la session de l utilisateur En effet chaque session ouverte sur le serveur poss de un certain d lai param tr par l administrateur du service Si ce d lai est chu la session est supprim e du serveur Dans ce cas si une nouvelle demande d authentification provenant du client lourd est re ue par le serveur celle ci sera refus e car la session de l utilisateur n existe plus Cette erreur peut aussi provenir d un red marrage du serveur Dans un tel cas le client lourd est ferm et l utilisateur est pri de se reconnecter 19 2 9 2 Compte de l utilisateur ou de l appareil mobile bloqu Lorsqu une authentification choue plusieurs fois le compte de l utilisateur est bloqu Le nombre de tentatives d pend des param tres choisis par l administrateur du service L administrateur peut aussi bloquer le comp
195. sateurs programmes appareils mobiles ou param tres de s curit T ches effectuer au niveau de l interface Web d administration o Mettre en place une communication s curis e entre le navigateur Internet de l administrateur et le serveur de s curit l aide du protocole SSL e Impl menter une page d authentification formelle de l administrateur o Impl menter les outils d ajouts modifications ou suppressions d utilisateurs appareils mobiles groupes param tres de s curit et programmes e mpl menter l envoi de nouvelles applications au serveur par l administrateur T ches optionnelles Ces diff rentes t ches seront r alis es en fin de projet en fonction du temps restant Elles peuvent par ailleurs tre modifi es voire supprim es en fonction de l volution du projet lors de sa r alisation Cette disposition des t ches permet de se concentrer en premier lieu aux fonctionnalit s prioritaires puis aux fonctionnalit s utiles mais sans lesquelles le service est utilisable Ces t ches ne sont pas repr sent es dans le micro calendrier mais s effectueraient dans la semaine pr c dant la finalisation du rapport T ches effectuer au niveau du client lourd en collaboration avec le serveur de s curit e Service de mise jour e Impl menter la possibilit d interruption d un transfert d une application o Permettre de mettre jour des applications pendant le fonctionnement du client lo
196. sation du client lourd sis 92 19 3 Manuel d utilisation du service d administration 100 19 4 Int gration des diff rentes parties du client lourd 109 19 5 Installation des outils de d veloppement 111 19 6 Cr ation des certificats ENNER 113 19 7 dl EU Eet Re TE e EE 115 19 8 JOUrMal Ge traVall sce cccscscekshdveesdsseessavecevsut betas svseejedeniesdeaesnedshavacesehecaeaaeaes ENEE dE ENEE eege ege 120 ZO Ee r Eugeeg reueg dE eege see REENEN T 124 21 Index des EE 125 22 INA SX E Le 127 23 Liste des Te 129 Page 7 129 TA IICT Mobile Doctor s Desktop Stephen Badan 4 R sum The only truly secure system is one that is powered off cast in a block of concrete and sealed in a lead lined room with armed guards and even then I have my doubts Eugene H Spafford 1 Cette citation tr s connue dans le domaine des nouvelles technologies illustre quel point la s curit informatique et des donn es en g n ral est difficile assurer Cette probl matique est relativement r cente il est en effet possible depuis quelques ann es de centraliser une quantit impressionnante d informations plus ou moins confidentielles dans un seul ordinateur voire m me aujourd hui dans un simple t l phone mobile Qu en est il alors de la s curit Ce projet se propose d tudier ladite question en impl mentant une application permettant d assurer au mieux la s curit de donn es contenues dans un a
197. serName est le nom de l utilisateur utilisant l application e L identifiant est invalide error invalid id e Une erreur est survenue sur le serveur error errorDescription o errorDescription est la description de l erreur survenue sur le serveur Page 68 129 Mobile Doctor s Desktop Stephen Badan La classe ServerSecurityRequestDispatcher extrait le nom et les param tres de la m thode appel e dans la requ te puis redirige la requ te vers la m thode concern e dans le gestionnaire de s curit ServerSecurityManager Cette classe met alors en forme les r ponses retourn es par le gestionnaire de s curit avant de les faire suivre la servlet La classe ServerSecurityManager est la classe centrale du serveur Elle contient la liste de toutes les sessions ouvertes par les utilisateurs sur le serveur ainsi que toutes les m thodes li es la s curit telles que les contr les des authentifications des utilisateurs et des appareils mobiles les contr les des droits d utilisation des applications la demande des param tres de s curit etc Cette classe est instanci e de mani re unique car il ne doit exister qu une seule liste des sessions ouvertes La classe SessionSecurityInformation est utilis e par le gestionnaire de s curit pour stocker les informations relatives aux sessions ouvertes par les utilisateurs Chaque session contient le nom de login de l utilisateur le num ro IMEI de l appareil mobile qu il
198. serveur puis extraient les informations des r ponses Java qu elles re oivent afin de retourner le r sultat demand La classe ClientCommunications s occupe de gestion des communications s curis es directes avec le serveur Elle effectue la conversion de la requ te Java en un document XML l aide de la classe XMLMessageParser Une fois le document XML cr ce dernier est transmis au serveur puis la r ponse XML du serveur est traduite en r ponse Java qui est retourn e la classe ClientRequests Cette classe s occupe galement de demander et de recevoir les fichiers envoy s par le serveur La classe XMLMessageParser effectue la conversion entre les requ tes au format Java et les documents XML Le parseur XML utilis est le parseur kKXML2 Le groupe bleu contient les classes impl mentant le service de gestion des mises jour o La classe ClientUpdateManager g re le contr le de la version et de l int grit des fichiers d applications et les met jour si n cessaire Cette classe qui est la premi re classe d marr e sur le client lourd ex cute le service d authentification une fois les mises jour termin es ainsi que le chargeur d applications d velopp dans le cadre d un autre travail de dipl me La classe Client pdateGUI est l interface graphique principale du service de mise jour permettant d afficher le statut et l avancement de ce service La classe ClientUpdateApplicationGU offre une inter
199. ssance de calcul et un tel contr le handicaperait d autres applications en cours d ex cution De plus la mise jour d une application lorsqu elle est d marr e n est possible que par un red marrage complet de l application voire du client lourd lui m me Fort de ce constat et au vu du temps relativement limit qu il restait disposition en fin de projet cette t che n a pas pu tre r alis e Enfin la t che d impl mentation d un contr le d authentification biom trique a t abandonn e en cours de projet au profit d une solution d authentification externe par Bluetooth L exemple d une authentification par empreinte digitale n aurait en effet pas t utilisable en pratique en raison du manque de lecteurs biom triques compatibles Apr s discussion avec M Jaton la solution d authentification externe l aide d un appareil Bluetooth semblait tre une solution efficace qui pourrait facilement tre adapt e aux appareils mobiles utilis s C est la raison pour laquelle l authentification externe a t retenue et r alis e 17 3 Am liorations possibles Le service de s curit et le service de mise jour du client lourd sont actuellement totalement fonctionnels Au niveau des fonctionnalit s qu il serait possible d adjoindre au client lourd celles ci d pendent de l utilisation que l on souhaite en faire Dans le domaine m dical pour lequel le client a t tudi il n est pas n cessaire de lui ajouter des fonc
200. ssibilit de d finir un d lai de transition possibilit qui peut tre activ e ou d sactiv e si le d lai de transition est d sactiv toutes les mises jour deviennent obligatoires Dans le cas contraire le serveur se base sur ce d lai de transition pour d cider si la mise jour de l application est obligatoire ou non 19 3 6 Gestion des appareils mobiles Manage mobile devices Chaque appareil mobile d sirant se connecter au service doit pr alablement tre inscrit au niveau du serveur de s curit sans quoi l acc s au service pour cet appareil serait refus Il est donc possible d ajouter de modifier ou de supprimer un appareil mobile Un tel appareil poss de les propri t s suivantes Un nom permettant de le reconna tre Le code IMEI permettant d identifier l appareil mobile de mani re unique Ce code peut tre trouv sur l appareil mobile en tapant le num ro de t l phone 06 Le syst me d exploitation utilis par l appareil mobile La disponibilit d un syst me d authentification externe sur l appareil mobile disponible ou non Dans ce cas ci l authentification externe correspond une authentification par la technologie Bluetooth Si l appareil mobile dispose d un module Bluetooth la case doit tre coch e Dans le cas contraire la case doit tre d coch e afin que les authentifications externes soient remplac es par des authentifications formelles et que l vitement des aut
201. sur le stockage en local des mots de passe et impl ment es par les navigateurs ou par les syst mes d exploitation ne sont en principe pas compatibles avec des syst mes a s curit accrue comme c est le cas des syst mes a vocation m dicale et manipulant des donn es personnelles sensibles Un autre inconv nient qui se fait jour est la difficult qu il y a de s adapter a diff rents l ments d affichage Si en th orie on peut utiliser des transformations XSLT pour adapter la page un affichage de petites dimensions il n en reste pas moins que la notion de formulaire avec laquelle sont impl ment es la plupart des entr es de donn es sur le Web s accommode assez mal d crans de petites dimensions 640 x 320 voire 320 x 240 De plus la n cessit de rafra chissement d une page enti re est p nalisante dans le cas de liaisons bas d bit GPRS et AJAX s il permet de r soudre des probl mes d interactivit n est pas particuli rement conome en bande passante Or pour un m decin l utilisation d un ordinateur de poche PDA Personal Digital Assistant comme organe d entr e sortie constitue une alternative int ressante car il peut en principe l avoir toujours sur lui et ainsi rester atteignable en urgences sans pour autant tre assign r sidence proximit d un ordinateur ou contraint de promener une lourde mallette contenant un ordinateur portable soumis une s quence de boot up plus o
202. sword permet d assigner le mot de passe souhait lt xml version 1 0 encoding utf 8 gt lt tomcat users gt lt role rolename manager gt lt user username admin password securityManager roles manager gt lt tomcat users gt D marrer le serveur Web Ouvrir un navigateur Internet et se connecter au serveur par l adresse http localhost 8080 Cliquer sur le lien Tomcat Manager sur la page d accueil et s authentifier en donnant le nom Page 116 129 Mobile Doctor s Desktop Stephen Badan 19 7 1 6 d utilisateur admin et le mot de passe securityManager Supprimer les applications jsp examples servlets examples slide doc et tomcat docs Ajouter l application serveur Server war pr sente dans le dossier lt Repinstall gt Web Server Si le mot de passe du serveur de fichiers ou le mot de passe de la base de donn es ne sont pas identiques ceux utilis s dans ce guide il est n cessaire de modifier les param tres du serveur Pour plus d informations se r f rer au chapitre 19 3 11 page 107 Contr ler que le service d administration fonctionne en ouvrant le lien http localhost 8080 Server S curisation du serveur Cette tape consiste a cr er un certificat pour le serveur afin de s curiser les connexions vers celui ci 19 7 1 7 Si le serveur Web est en cours d ex cution le fermer Cr er les certificats pour le serveur Les d tails concernant la cr
203. t des applications Cette requ te serait en effet g n r e par le serveur de l application lors de la r ception de la requ te de la part de l application Pour ajouter une application simul e deux solutions sont possibles La premi re solution consiste s lectionner l un des fichiers install s dans la liste d roulante puis de cliquer sur Add application La seconde possibilit est de saisir le nom de l application dans la liste puis de cliquer sur Add application La premi re possibilit est tr s utile lorsque l on souhaite v rifier que les applications install es sont autoris es tre utilis es tandis que la seconde possibilit permet de tester des applications non autoris es afin de s assurer que le client de s curit les refuse 19 2 9 Messages d erreur Le client lourd est une application rigide laissant une tr s faible tol rance aux erreurs Ainsi lorsque des anomalies sont d tect es au niveau du client ou au niveau du serveur des messages d erreur sont affich s l cran et le client lourd est g n ralement ferm automatiquement En fonction de la gravit de l erreur d tect e la fermeture peut se faire de mani re habituelle en laissant le temps chaque application de se fermer ou de mani re brusque en fermant la machine virtuelle elle m me afin de minimiser les risques de s curit Deux messages d erreurs susceptibles d tre rencontr s en utilisation normale par l utili
204. t RepClient gt du PDA Cr er un raccourci pour ouvrir ce fichier Un mod le de raccourcis est donn ci dessous 255 J9 PPRO11 bin j9 exe jcl pproll classpath lt RepClient gt Client jar client ClientupdateManager Il suffit de modifier le r pertoire lt RepClient gt par le chemin absolu vers le fichier puis d enregistrer cette ligne de texte dans un fichier dont l extension sera nk Placer ce raccourci dans le r pertoire lt RepClient gt puis l ex cuter Lors de la premi re ex cution du client lourd plusieurs messages d avertissements apparaissent demandant si les librairies sont autoris es tre ex cut es par le syst me d exploitation Accepter chacun de ces messages 19 7 2 5 Connexion un r seau Wi Fi prot g par WPA2 et TKIP Windows Mobile 5 0 g re relativement mal l installation des certificats pour des r seaux sans fil d entreprise Nous avons utilis un logiciel tiers pour installer notre certificat afin de pouvoir se connecter au r seau Les tapes principales suivantes sont extraites d une marche suivre en ligne 26 et sont rappel es ci dessous T l charger le logiciel pfximprt du site http www jacco2 dds nl networking pfximprt html Download Extraire l archive puis copier le fichier pfximprt exe sur le PDA Ce programme permet d importer des certificats sur Windows Mobile 5 0 Ces certificats doivent cependant tre enregistr s au format pfx Ex
205. t due la longueur des donn es envoy es En effet en fonction des donn es en octets envoyer il se peut que le protocole TLS requi re un remplissage padding des donn es manquantes afin de pouvoir chiffrer les donn es La gestion de ce remplissage semble cependant ne pas fonctionner correctement sur la machine virtuelle utilis e au niveau du client Cela peut tre d une gestion diff rente du padding au niveau du client qu au niveau du serveur mais il n a malheureusement pas t possible de trouver plus d informations ce sujet Cette erreur ne survient que lors de l envoi de donn es du serveur vers le client L envoi des donn es du client vers le serveur ne pose quant lui aucun probl me Afin de r soudre ce probl me il faut viter d entrer dans la situation o un remplissage est n cessaire Pour ce faire il faut que la taille des donn es envoyer soit gale un multiple de 8 octets Un algorithme simple a t mis en place afin de trouver la taille du paquet multiple de 8 octets maximale qui peut tre envoy e puis l envoi des donn es restantes s effectue octet par octet L algorithme fonctionne de la mani re suivante en prenant comme exemple un fichier de 3 765 octets envoyer Calcul de la taille de paquet maximale de 8 octets qu il est possible d envoyer par rapport la taille des donn es et envoi de celui ci Nombre de fragments 3 765 8 470 division enti re Page 53 129
206. t obligatoire Une fois valid e la fen tre de s lection se ferme et les applications s lectionn es sont t l charg es et install es Please select the applications to update Application I Type I V Alert Install l FichePatient Install M Toolsbox Install Select All Deselect All Validate Figure 17 Fen tre de s lection des mises jour Nettoyage des fichiers le client lourd supprime tous les fichiers des applications non autoris es tre ex cut es ainsi que tous les fichiers des applications pour lesquelles il manque au moins un fichier D marrage du service de gestion des authentifications le client lourd d marre le service de gestion des demandes d authentifications et de contr le des applications D marrage du chargeur d application le client lourd d marre le chargeur d applications en lui donnant en param tre la liste des fichiers install s et autoris s tre ex cut s Le processus de mise jour est alors termin Page 48 129 S IICT Mobile Doctor s Desktop Si l application n est pas t l chargeable automatiquement affichage d un message d erreur et fermeture du client lourd T En accord avec les droits de l utilisateur Les applications poss dant des fichiers dont la mise jour est obligatoire sont automatiquement coch es et ne peuvent pas tre Si l application n
207. te de l utilisateur distance s il le souhaite pour des raisons de s curit Lorsque le compte de l utilisateur est bloqu le message suivant est affich Fo Error report Error report User account has been locked Please try to reconnect Figure 51 Compte de l utilisateur bloqu Dans ce cas la le client lourd est ferm et l utilisateur est pri de se rendre chez l administrateur du service pour d bloquer le compte L erreur est similaire pour le blocage du compte de l appareil mobile 17 Pour obtenir plus d informations concernant la modification du d lai de validit des sessions ouvertes voir le chapitre 19 3 11 page 107 18 Pour obtenir plus d informations concernant la d sactivation d un compte d utilisateur voir le chapitre 19 3 3 page 101 Page 99 129 a ICT Mobile Doctor s Desktop Stephen Badan 19 3 Manuel d utilisation du service d administration Le service d administration permet l administrateur de g rer la totalit des param tres du serveur de s curit Les d tails de ces fonctionnalit s sont donn s ci dessous 19 3 1 Authentification Pour s authentifier sur le site Internet d administration il faut utiliser le formulaire d authentification droite de la page saisir ensuite le nom de l administrateur autoris se connecter ainsi que son mot de passe puis cliquer sur Sign In Pour se d connecter cliquer sur Log Out Authentication Administrator ID
208. ter ouvert afin de pouvoir d chiffrer les donn es la fermeture de celui ci signifiant la perte de la cl et donc l impossibilit de lire les donn es Dans un tel cas une nouvelle connexion au serveur serait n cessaire pour obtenir nouveau la cl de d chiffrement La probl matique principale serait alors le renouvellement p riodique des cl s afin de garder un bon niveau de s curit La derni re solution est bas e sur une suppression de toutes les donn es confidentielles en cas de r quisition du PDA Cette suppression serait activ e manuellement par l utilisateur ou lors d une authentification erron e si le PDA est loign du badge Bluetooth par exemple Une fois l utilisateur en s curit celui ci pourrait restaurer toutes ses donn es depuis le serveur Cette solution pourrait aussi tre combin e la seconde ou la troisi me solution qui consisterait chiffrer les donn es en cas de danger puis transf rer toutes les donn es sur une carte m moire au lieu de les supprimer Cela permettrait de restaurer ces donn es ult rieurement sans engendrer de gros transferts de donn es avec le serveur Le chiffrement des donn es ne serait ainsi effectu qu en cas de besoin conomisant la puissance de calcul le reste du temps Au niveau pratique la solution de suppression et de restauration des donn es est probablement la solution n cessitant le moins de modifications au niveau du client lourd Dans le cadre du servi
209. tilisateur d j existant Un message d erreur doit tre affich indiquant que le nom de login est d j utilis Idem au r sultat attendu Lors de la cr ation d un nouvel utilisateur le mot de passe choisi pour l utilisateur est automatiquement hach Si une modification est effectu e sur le mot de passe ult rieurement le nouveau mot de passe est aussi hach Cr er un nouvel utilisateur avec un nouveau nom de login L utilisateur doit tre cr Idem au r sultat attendu Choisir de modifier l utilisateur puis modifier certains champs et cliquer sur cancel modifications Les valeurs des champs doivent tre restaur es leur valeur d origine Idem au r sultat attendu V rifier que le contr le des champs s effectue correctement pour chaque champ du formulaire Une erreur doit tre affich e si un champ est vide ou invalide indiquant quel est le champ concern Idem au r sultat attendu Supprimer un utilisateur L utilisateur doit tre supprim ainsi que toutes les attributions d appareils mobiles de cet utilisateur Idem au r sultat attendu 19 1 5 3 Tests de la gestion des appareils mobiles Tous les tests suivants s effectuent lorsque l administrateur est authentifi Test effectu R sultat attendu R sultat observ 1 Cr er un nouvel appareil mobile poss dant un code IMEI d un appareil mobile d j existant
210. tion Le service des authentifications a aussi t scind en trois services d authentification distincts Le service d authentification formelle impl mente toutes les m thodes n cessaires pour authentifier l utilisateur l aide d un nom et d un mot de passe Le service d authentification externe authentifie l utilisateur l aide d un l ment externe telle qu une authentification biom trique ou une authentification g ographique de l utilisateur et de son appareil mobile Le service d authentification mat rielle authentifie l appareil mobile utilis l aide d un code d identification unique Page 18 129 amp Mobile Doctor s Desktop Stephen Badan Serveur de s curit Serveur de fichiers Pees au serveur de fichiers Let SGBD Ge la base _de pe Administrateur du service Client mobile Gestionnaire des mises jour s curit Serice d authentification formelle Gestionnaire des demandes d authentification Serice d authentification externe Senice d authentification mat rielle i Figure 4 Structure d taill e du service de s curit Page 19 129 gt ICT Mobile Doctor s Desktop Stephen Badan 9 Technologies utilis es 9 1 Au niveau du client 9 1 1 Langage de programmation Le client lourd est crit dans le langage Java Comme ce client do
211. tion des demandes d authentifications Par ailleurs l un des probl mes majeurs avec l authentification par empreintes digitales est le manque de lecteurs compatibles avec les appareils mobiles qu ils fonctionnent avec Symbian OS ou Windows Mobile En effet il n existe qu une vari t relativement limit e de lecteurs d empreintes digitales la plupart tant destin s des stations Windows ou Linux Les quelques lecteurs existants pour des appareils mobiles sont g n ralement directement int gr s dans l appareil mobile bien que quelques lecteurs externes existent mais ceux ci sont alors c bl s en USB Malheureusement tous ces lecteurs poss dent des pilotes propri taires et l utilisation de tels lecteurs pour ce projet n cessiterait d crire nouveau leur pilote afin de pouvoir les utiliser depuis Java t che qui peut s av rer tr s complexe et qui sortirait du cadre de ce projet Page 40 129 vg o ICT Mobile Doctor s Desktop Stephen Badan 11 4 1 Solution retenue Bien qu une authentification biom trique soit probablement le type d authentification externe le plus efficace le manque de mat riel compatible ne m a pas permis de r aliser cette fonctionnalit Ainsi le cahier des charges de ce projet ne comprend pas l impl mentation d une m thode d authentification externe car aucune solution optimale n a t trouv e Le projet a toutefois t structur de mani re pouvoir accueillir une m thode d authe
212. tion formelle Le service d authentification formelle s occupe de demander le nom de l utilisateur ou plus commun ment appel login et son mot de passe dans le but de pouvoir authentifier l utilisateur La principale difficult est d adapter l interface de saisie afin de minimiser les interactions de l utilisateur avec l appareil mobile La solution retenue pour respecter cette contrainte est de proposer l utilisateur une liste contenant le nom de tous les utilisateurs autoris s s authentifier sur l appareil mobile utilis De cette mani re l utilisateur n aura qu s lectionner son nom dans la liste et saisir son mot de passe afin de s authentifier Bien que l affichage de ces noms puisse ventuellement tre une source d informations pour une personne malveillante les noms des utilisateurs ne sont g n ralement par critiques et peuvent tre trouv s d une autre mani re tr s ais ment en tudiant la structure de la composition de ces noms par exemple En effet chaque entreprise poss de une m thode pour g n rer les noms d utilisateurs en prenant par exemple la premi re lettre du pr nom suivi du nom de famille Authentication TE Formal authentication required Select the login of the user sbadan X Enter the password Validate Figure 9 Fen tre d authentification formelle Page 35 129 TA ICT Mobile Doctor s Desktop Stephen Badan 11 3
213. tionnalit s pour pouvoir l utiliser En revanche des secteurs d activit s diff rents tels que le domaine bancaire ou financier peuvent requ rir un niveau de s curit plus important notamment au niveau du stockage des applications et des donn es En effet les donn es enregistr es par le client lourd sur l appareil mobile ne sont pas chiffr es ou prot g es contre un acc s ind sirable Bien que les fichiers d applications soient prot g s contre une quelconque atteinte leur int grit ces fichiers pourraient tre copi s d compil s et analys s de mani re mieux comprendre leur fonctionnement dans le but de trouver des failles exploitables Plus probl matique encore les informations personnelles stock es par les applications du client lourd telles que les contacts ou les rendez vous ne sont pas chiffr es et peuvent tre facilement copi es Ce probl me peut se pr senter lorsque le PDA est r quisitionn dans les contr les de douane par exemple et peut nuire la confidentialit des donn es Une s curit accrue est ainsi n cessaire Les solutions suivantes pourraient tre envisag es pour prot ger l acc s aux donn es confidentielles La premi re solution probablement la plus s re serait de garder toutes les informations sur le serveur et de ne stocker aucune donn e sur l appareil mobile Cette solution requiert toutefois une connexion constante avec le serveur et engendre des transferts importants de
214. tions sp ciales ou si elle est trop volumineuse pour tre t l charg e par les appareils mobiles si l application est d finie comme tant installable automatiquement le client lourd t l charge tous les fichiers contenus dans cette application et les installe Dans le cas contraire une erreur est affich e si l application est prioritaire et l application n est pas install e et ou supprim e si l application est non prioritaire en fonction de la cat gorie laquelle elle appartient Une fois une application cr e il est possible de sp cifier les fichiers que contient cette application 19 3 10 2 Gestion des fichiers Manage files Cette tache permet d ajouter de modifier ou de supprimer des fichiers sur le serveur Un fichier est d fini par Page 105 129 ICT Mobile Doctor s Desktop Stephen Badan Un nom de fichier unique Le code hach du fichier permettant aux clients de v rifier l int grit des fichiers La date d ajout du fichier La taille du fichier gt gt gt Un tat pour savoir si la mise jour du fichier est prioritaire ou non Si la mise jour est d finie comme tant prioritaire le d lai de transition des mises jour des applications est ignor et tous les fichiers de l application contenant ce fichier sont mis jour obligatoirement Dans le cas contraire le serveur se base sur le d lai de transition d fini dans les param tres de s curit du groupe de l utilisate
215. toute garantie de s curit de l application Ce choix peut toutefois tre utile pour des applications prioritaires telles que les contr les de pr sence d alertes o aucune donn e confidentielle n est transmise afin que ces demandes ne soient pas mises en attente lorsque des authentifications sont en cours 11 1 1 Remise z ro des d lais et de la liste des applications en ex cution Les d lais et la liste des applications en cours d ex cution sont remis z ro dans les diff rents cas d crits ci dessous Le d lai p riodique long est remis z ro Apr s une authentification d coulant d un contr le p riodique long Apr s une authentification d coulant d un vitement d authentification formelle Le d lai p riodique court est remis z ro Apr s tous les types d authentifications Le d lai de d marrage des applications est remis z ro Apr s tous les types d authentifications Le contr le des applications s effectue nouveau Apr s une authentification d coulant d un contr le p riodique long ou court o Apr s une authentification d coulant du d marrage d une nouvelle application effectu apr s le d lai de d marrage des applications Le d lai d vitement d authentification formelle est supprim Apr s une authentification d coulant d un vitement d authentification formelle Remarque Les authentifications d coulant d un contr le p riodique
216. ts de passe erron s Une fen tre d erreur doit tre affich e indiquant que le compte de l utilisateur a t verrouill Idem au r sultat attendu ok 2 Lors d une authentification Un mot de passe valide remet Idem au r sultat formelle saisir 2 mots de z ro le compteur du nombre de attendu ok passe erron s puis le mot de mots de passe erron s saisi passe correct Ainsi aucune erreur ne doit A l authentification formelle appara tre lors du test suivante saisir 2 mots de passe erron s puis le mot de passe correct 3 S loigner de l appareil dont L authentification externe doit Idem au r sultat l adresse MAC Bluetooth sert chouer et le compte de attendu ok d authentification externe et l utilisateur doit tre bloqu attendre qu une authentification externe s effectue 4 D marrer le client lourd sans Une fen tre d erreur doit tre Idem au r sultat d marrer d application en affich e sur le client lors de attendu ok r pondant toutes les l authentification ou du contr le authentifications de d marrage des applications car l identifiant de mani re valide Une fois le de s curit de l utilisateur est client d marr red marrer le n existe pas sur le serveur en serveur afin d effacer tous les raison de son red marrage identifiants de s curit sur le Comme l identifiant n existe plus serveur l acc s au serveur est r voqu pour le client lourd et une ex
217. ttendu La gestion des acc s aux fichiers est g r e par le serveur WebDAV lui m me D connecter le serveur ou mettre le PDA en veille lors du transfert d une application Le transfert doit tre interrompu et une erreur doit tre affich e Erreur le transfert est interrompu mais aucune erreur n est affich e L application semble tre fig e bien que l interface graphique r agisse encore Lors d une telle interruption aucune exception n est lev e au niveau Java et la lecture du flux de donn es se bloque Cela est d un probl me de d tection de l interruption par Java par la machine virtuelle ou par le syst me d exploitation sous jacent II n est ainsi pas possible de corriger ce probl me au niveau du code moins d impl menter un contr le du transfert l aide de threads ce qui alourdirait consid rablement l application Il est noter que dans les autres cas les probl mes sont correctement d tect s Page 91 129 TA ICT Mobile Doctor s Desktop Stephen Badan 19 2 Manuel d utilisation du client lourd 19 2 1 D marrage du client lourd Pour d marrer le client lourd ouvrir l explorateur de fichiers de Windows Mobile et ouvrir le r pertoire dans lequel se trouve le client lourd Cliquer ensuite sur le raccourci de d marrage de l application nomm start dans ce cas g Explorat fichiers sg Yx x X H RichClient Nom Q
218. tu e sur ces fichiers Mandatory l application concern e poss de tous ses fichiers mais certains de ceux ci sont invalides ou ne sont pas jour La mise jour de cette application est obligatoire et ne peut pas tre vit e Cette fen tre comporte par ailleurs trois boutons Le bouton Select All permet de s lectionner toutes les mises jour Le bouton Deselect All permet de d s lectionner toutes les applications dont la mise jour est de type nstall ou Update Enfin le bouton Validate permet de valider le choix 19 2 8 1 Transfert des fichiers Lors du transfert d une application sur le client mobile une barre d tat du t l chargement est affich e comme le repr sente la figure 45 f 7 Update manager Had Yk x X Update process in progress Downloading files of FichePatient CTT Downloading file FichePatient jar C Abort download Figure 45 Transfert d une application non prioritaire Le transfert d applications non prioritaires qu elles soient de types Mandatory ou Update peut tre annul L annulation d un transfert engendre la suppression du fichier en cours de transfert ainsi que de tous les fichiers contenus dans l application dont le transfert a t annul Les fichiers qui sont utilis s par d autres applications ne sont en revanche pas supprim s Pour annuler le transfert d une application il suffit de cliquer sur le bouton Abort download Un message d avertissement
219. u chapitre 10 4 7 page 29 les d tails tant donn s ci dessous 10 4 1 D marrage du client lourd L ex cution du programme s effectue habituellement en d but de service pour le m decin Aucune urgence n a tre trait e ce moment l une authentification plus s re et n cessitant donc un peu plus d interaction avec l utilisateur peut facilement tre effectu e Dans ce cas l une fois que le m decin s est identifi les m thodes d authentification suivantes devraient tre effectu es Authentification formelle Authentification mat rielle Ces authentifications permettent d une part d authentifier l appareil afin de lui accorder ou de lui refuser l acc s au service et d autre part d authentifier l utilisateur afin de savoir quels sont ses droits et ainsi quelles applications il a le droit d acc der 10 4 2 Contr les p riodiques au niveau des applications Lors du service du m decin il est envisageable qu il laisse l appareil mobile sans surveillance pendant un certain temps Durant cette p riode il est possible que l appareil mobile soit utilis ou vol par une tierce personne Il se peut aussi que l appareil tombe de la poche du m decin sans que celui ci s en rende compte Les acc s au service d informations m dicales par une personne non autoris e n tant Page 26 129 TA ICT Mobile Doctor s Desktop Stephen Badan pas souhait s il est n cessaire de prot ger l acc s au service
220. u moins fastidieuse En cons quence on se propose d impl menter un client d di pour PDA utilisant les protocoles Web HttpRequest HttpResponse mais impl mentant son propre moteur d affichage d di l application r sident sur le PDA Il devrait tre possible d ajouter des applications au cours du temps lesquelles pourront profiter des services offerts par le client d di par exemple le t l chargement de nouvelles applications ou la mise jour d applications existantes mais avec un confort d utilisation incomparablement plus lev et une interface homme machine HMI optimis pour la plate forme mobile 2 2 Cahiers des charges Il s agit dans ce cadre d impl menter une infrastructure de s curisation de t l chargement de mise jour et de lancement d applications veillant ce qu une application donn e ne puisse pas ais ment tre d tourn e de son usage premier cheval de Troie ou application patch e par d compilation de midlet par exemple Cette infrastructure fournira aussi quelques services d interface avec le PDA par exemple une interface avec le carnet de rendez vous ou avec la base de donn es de contacts titre d exemple et de services aux applications Enfin l infrastructure comprendra un serveur d applications de support contr lant les param tres utilis s par le terminal mobile ainsi que les applications qui ont le droit de s ex cuter un instant donn Il en r sulte de ce fa
221. uches inf rieures afin que la servlet puisse envoyer le fichier Cette classe s occupe aussi de l ajout de nouveaux fichiers sur le serveur ainsi que de la suppression des fichiers et ce de mani re ce que la base de donn es soit toujours jour par rapport aux fichiers stock s sur le serveur Le groupe en bleu repr sente le service de s curit du serveur La structure est tr s similaire au service de mise jour Nous y trouvons o La servlet ServletAuthentication permet aux clients lourds d effectuer des requ tes de s curit destin es au serveur telles que des demandes d authentifications Ces requ tes sont tout d abord traduites en objets Java l aide d un parseur XML JAXB puis elles sont transmises sans pr traitement au r partiteur de requ tes ServerSecurityRequestDispatcher Les r sultats des requ tes venant en retour au format Java sont traduits en XML par JAXB avant d tre envoy s aux clients La servlet ServletServerAccess est destin e aux serveurs d applications afin que ceux ci puissent envoyer des demandes de contr le d identifiants de s curit d applications La servlet re oit un identifiant de s curit de type appld le transmet au r partiteur de requ te afin que l identifiant soit v rifi puis renvoie l un des messages suivants au serveur d applications ayant effectu la demande en fonction de la validit de l identifiant e L identifiant est valide valid userName o u
222. ups Un groupe est d fini par les l ments suivants Un nom qui doit tre unique Les param tres de s curit appliqu s au groupe et tous les utilisateurs qu il contient Un groupe ne peut suivre qu un seul ensemble de param tres de s curit security settings mais peut tre autoris utiliser z ro une ou plusieurs applications Pour sp cifier quelles sont les applications que le groupe est autoris utiliser suivre la proc dure d crite la section 19 3 10 4 Remarque L ajout d un groupe ne peut se faire que si au moins un ensemble de param tres de s curit a t pr alablement cr 19 3 5 Gestion des param tres de s curit Manage security settings Les param tres de s curit nomm s security settings dans le cadre du programme d finissent les r gles d authentification et les r gles de s curit des clients lourds Ces r gles contiennent Un nom permettant de reconna tre l ensemble de r gles Un nombre qui d finit le nombre maximum d authentifications invalides formelles avant que le compte de l utilisateur ne soit bloqu Ce nombre doit tre sup rieur 1 Un nombre qui d finit le nombre maximum d authentifications invalides externes avant que le compte de l utilisateur ne soit bloqu Ce nombre doit tre sup rieur 1 Le d lai d vitement qui d finit le d lai apr s lequel une nouvelle authentification formelle est demand e la suit
223. ur le client lourd L utilisateur a donc le choix d installer ou non l application Pack 2 Idem au r sultat attendu 19 1 5 Tests du service d administration 19 1 5 1 Tests g n raux Test effectu R sultat attendu R sultat observ 1 S authentifier sur le site avec un nom d utilisateur ou un mot de passe erron L acc s au service doit tre refus Idem au r sultat attendu S authentifier sur le site avec un nom d utilisateur et un mot de passe valide L acc s au service doit tre accept Idem au r sultat attendu Se d connecter du site avec le lien Log Out pr sent dans le menu de droite La page courante doit tre remplac e par un message d erreur et le formulaire d authentification doit nouveau tre affich Idem au r sultat attendu En tant d connect essayer d ouvrir une page en la tapant directement dans la barre d adresse du navigateur Web par exemple la page User jsp La page ne doit pas tre affich e et doit tre remplac e par un message d erreur Idem au r sultat attendu 19 1 5 2 Tests de la gestion des clients Tous les tests suivants s effectuent lorsque l administrateur est authentifi Test effectu R sultat attendu R sultat observ Page 85 129 D LOS IICT Mobile Doctor s Desktop Stephen Badan Cr er un nouvel utilisateur poss dant un nom de login d un u
224. ur pour savoir si l application doit tre mise jour obligatoirement ou non Il faut noter que tous ces param tres sont calcul s automatiquement au moment de l ajout des fichiers sur le serveur l exception de l tat de priorit qui doit tre d fini par l administrateur Le nom du fichier envoy est utilis pour identifier le fichier de mani re unique Un fichier peut aussi tre modifi Il suffit pour cela de choisir la t che de modification du fichier puis d envoyer le nouveau fichier sur le serveur Il n est cependant possible de modifier un fichier que par un fichier portant le m me nom que le fichier original 19 3 10 3 Gestion des fichiers contenus dans les applications Une fois que les nouveaux fichiers sont ajout s et que de nouvelles applications ont t d finies sur le serveur il est n cessaire d finir quels sont les fichiers contenus dans une application donn e Pour ce faire il faut s lectionner une application puis choisir quels sont les fichiers ajouter ou supprimer de l application choisie Fichier Edition Affichage Historique Marque pages Outils 2 vn ET Gh L mpsiisecnyservenstta senertpplcatinies tp D Favoris Security Service Management Task selection Files contained in the application Pack 3 Authentication l Access authorized Manage users commonDIl d Manage groups Manage mobile device attributions Noble deniers Add a file to the application Pack 3 Manage mobile d
225. uration du service ainsi qu une faible tol rance aux erreurs ce qui est particuli rement important dans un service de s curit Une servlet est crite en Java et permet de g n rer et d afficher dynamiquement des donn es sur un serveur HTTP comme un site Internet par exemple Dans le cadre de ce projet les servlets sont utilis es pour recevoir les requ tes provenant des clients mobiles et pour renvoyer le r sultat de leur traitement Les JSP Java Server Pages sont quant elles utilis es lorsque la quantit de code HTML au sein de celles ci est plus importante que la quantit de code Java pour des raisons de facilit d criture du code En dehors du confort d utilisation les JSP ne diff rent en rien aux servlets car les JSP une fois compil es par le serveur Web sont totalement quivalentes des servlets Dans ce projet j utilise les JSP pour tout le service d administration o le code HTML est majoritairement pr sent Page 22 129 TA ICT Mobile Doctor s Desktop Stephen Badan 9 2 2 Base de donn es La base de donn es utilis e au niveau du serveur est de type MySQL Les avantages de MySQL sont multiples 9 Popularit MySQL est extr mement r pandu en raison de sa simplicit et de sa flexibilit Co ts le serveur MySQL de base est gratuit MySQL Community Server D autres versions plus volu es existent aussi offrant entre autres un support d aide pour le client La version de base est
226. urd e Service de s curit o Impl menter une simulation d authentification externe de type biom trique avec l algorithme de contr le de GrFinder voir GrFinger Java 4 5 chapitre 11 4 page 40 Page 11 129 K ICT Mobile Doctor s Desktop Stephen Badan 7 Use Case Afin de d finir clairement les fonctionnalit s qui devront tre impl ment es dans ce projet celles ci sont d crites dans cette partie tout en pr cisant en quoi consiste chaque fonctionnalit et quel acteur est autoris l ex cuter Dans cette partie du projet qui se concentre essentiellement sur la s curit deux acteurs principaux seront concern s Le m decin qui utilise l appareil mobile L administrateur du service qui g re le service de s curit Les diverses fonctionnalit s impl menter dans ce projet sont illustr es dans le diagramme de contexte des cas d utilisation ci dessous F G rer les utilisateurs service G rer les applications G rer les appareils Administrateur du service G rer les param tre Utiliser les applications Authentification formelle Authentification externe Installer Mettre jour le Acel Authentification mat rielle M decin Figure 1 Diagramme de contexte du service de s curit Description des fonctionnalit s destin es au m decin Utiliser les applications comme son nom l indique cette fonctionnalit n est autre que l utilisation des applicatio
227. ut les droits d utilisation des applications par les groupes d utilisateurs etc Ces deux serveurs Mod les poss dent chacun une classe d acc s qui permet aux gestionnaires de s curit et de mise jour Contr leurs al d acc der aux informations Ce d coupage t fait afin de respecter l architecture MVC Mod le Vue Contr leur qui permet d assurer une grande ind pendance entre les diff rentes couches dans le but de pouvoir les modifier ou les remplacer ais ment sans avoir a modifier les autres couches Le service d administration Contr leur permettra l administrateur de se connecter par Internet au serveur de s curit afin de g rer tous les param tres de s curit du service et de g rer les applications Pour ce faire une interface Web Vue est impl ment e Du c t du client mobile nous retrouvons les deux parties principales Contr leurs qui sont la partie de mise jour et la partie de gestion des authentifications Le service de gestion des authentifications a par ailleurs t d compos en deux parties Le gestionnaire des demandes d authentification qui effectuent les authentifications en fonction des param tres de s curit Le contr le des applications qui contient la liste des applications en cours d ex cution et qui effectue les v rifications des droits d utilisation des applications par l utilisateur lorsque celui ci d marre une nouvelle applica
228. utilise et l heure et la date de cr ation de cette session Ces sessions sont ensuite r f r es par l identifiant de s curit attribu au client lourd lors de la cr ation de la session La classe ServerMaintenance est une classe instanci e une seule fois lors du d marrage du serveur et qui p riodiquement contr le l tat de chaque session dans le but de supprimer les sessions devenues invalides Le groupe en vert repr sente le service d administration Il est compos des classes suivantes o La classe ServerAdministration comporte toutes les m thodes n cessaires au traitement des demandes d administration provenant des pages JSP telles que l ajout la modification ou la suppression d utilisateurs la gestion des param tres de s curit des clients lourds la gestion des param tres du serveur etc Cette classe repr sente le contr leur du service d administration les vues tant les pages JSP non repr sent es dans ce sch ma UML La servlet ServietUpload est utilis e pour recevoir de nouveaux fichiers ajouter sur le serveur de fichiers Une fois un nouveau fichier re u la servlet extrait les informations de ce fichier telles que son nom sa taille et son code hach puis transmet ces informations la classe de gestion des mises jour ServerUpdateManager afin d ajouter ou de modifier le fichier sur le serveur de fichiers Le groupe en jaune repr sente le mod le du service c est dire les classes d a
229. utoris utiliser plusieurs appareils mobiles et il ne peut appartenir qu un seul groupe la fois Table MobileDevice cette table comporte tous les l ments propres l appareil mobile tels que le nom de l appareil son code IMEI hardwareAuthenticationKey un param tre d finissant si le compte est activ ou d sactiv accountDisabled et une propri t permettant de d terminer si l appareil mobile poss de un module d authentification externe ou non Page 61 129 ZS IICT Mobile Doctor s Desktop Stephen Badan externalAuthenticationlsAvailable Table Group cette table permet de regrouper les utilisateurs en fonction des applications qu ils utilisent et des droits qui leur sont accord s Chaque groupe ne suit qu un seul ensemble de r gles SecuritySettings et peut tre autoris ex cuter 0 N applications Table Program cette table repr sente une application telle que nous l avons vue au chapitre 12 1 Elle contient toutes les informations relatives aux applications nom de l application un champ permettant de savoir si cette application est prioritaire ou non donc si elle est install e avec ou sans l avis de l utilisateur isPriority et un champ pour savoir si cette application peut s installer automatiquement ou si elle doit tre install e manuellement par d administrateur isAutomaticallyinstallable Une application peut contenir 0 N fichiers Table File en liaison avec la table Pro
230. velles tables UserMobileDevice qui correspond au lien uses GroupRight qui correspond au lien is allowed to use ProgramFiles qui correspond au lien contains Les liens qui ne sont pas cit s ci dessus poss daient tous au moins une cardinalit 1 1 permettant d ajouter directement une cl trang re dans les tables d ja existantes Aucune nouvelle table n a donc t cr e pour ces liens Au niveau des couleurs utilis es dans le sch ma le jaune repr sente des entiers et le rouge clair des chaines de texte ou des bool ens Page 64 129 Mobile Doctor s Desktop Stephen Badan 16 Diagrammes UML des classes 16 1 Classes du client lourd Le diagramme des classes de la figure 26 repr sente les diff rents services du client lourd de s curit Dans un but de faciliter la lisibilit de ce sch ma seules les principales classes du client lourd sont repr sent es dans le diagramme le but de ce dernier tant de montrer le regroupement des classes Au niveau du client nous retrouvons cinq cat gories principales Le groupe noir contient les classes utilis es pour g rer les communications avec le serveur o La classe ClientRequests contient un ensemble de m thodes Java utilis es par les diff rentes classes du client lourd pour communiquer avec le serveur Ces m thodes g n rent les requ tes au format Java les transmettent la classe ClientCommunications afin qu elles soient envoy es au
231. x cut es par l utilisateur ont le droit d tre utilis es par ce dernier Le service des authentifications contient les diff rentes m thodes d authentification qu il est possible d utiliser sur le client mobile Ce service est appel par le gestionnaire des demandes d authentification lorsqu une authentification est n cessaire tout en pr cisant quelle m thode d authentification est souhait e Une fois appel ce service se charge d ex cuter l authentification demand e et de retourner la r ponse au gestionnaire des demandes d authentification Au niveau des applications sur le client mobile chaque application poss de un gestionnaire des requ tes qui g re les communications entrantes et sortantes Ce gestionnaire communique galement avec un module de s curit qui fait office de lien entre l application et le gestionnaire des demandes d authentification Ce lien permet d inclure un identifiant de s curit dans la requ te lorsqu une application souhaite envoyer un message son serveur dans le but de s curiser le service Enfin le chargeur d applications permet de charger et d ex cuter les applications stock es sur le client lourd 2 Toutes les informations concernant l identifiant de s curit sont donn es dans le chapitre 13 3 page 54 Page 16 129 v Serveur de s curit p EE E SE WO Mobile Doctor s Desktop Stephen Badan Serveur d applications Gestionnaire gege des q Gestionna
232. x cutant automatiquement au d marrage de ce dernier Lorsque le mot de passe est demand saisir un mot de passe qui sera utilis pour se connecter la base de donn es Le mot de passe utilis dans le cadre de ce guide est security _DB Importation de la base de donn es Pour importer la base de donn es du service de s curit il faut tout d abord installer un programme qui permette d effectuer cette t che Le programme utilis ici se nomme SQLyog Installer le fichier sqlyog_6 05 exe pr sent dans le r pertoire lt Rep nstall gt Database Server D marrer SQLyog Se connecter au serveur de base de donn es avec le nom d utilisateur root et le mot de passe security_DB Importer le fichier SQL securityDatabase sql pr sent dans le r pertoire lt Replnstall gt Database Server Ce fichier SQL contient la structure de la base de donn es de s curit ainsi que les param tres par d faut du serveur Page 115 129 TA ICT Mobile Doctor s Desktop Stephen Badan 19 7 1 3 Installation du serveur Web Le serveur Web utilis est le serveur Apache Tomcat incluant le serveur de fichiers WebDAV L installation de Java non d taill e dans ce guide doit tre effectu e avant l installation du serveur Web D compresser l archive jakarta slide 2 1 tomcat 5 0 28 zip pr sente dans le r pertoire lt Repinstall gt Web Server D placer le dossier d compress dans le r pertoire de son choix en

Download Pdf Manuals

image

Related Search

rapport rapport rapport synonym rapport furniture rapport meaning rapporteur rapport building rapport therapeutics rapport define rapport pronunciation rapporteur meaning rapport meaning in english rapport furniture los angeles rapport covetrus rapportage rapport london rapport building questions rapport 2025 rapport de mission rapport annuel 2024 rapport axonify rapport d\u0027incident rapport mensuel rapport de stage 3eme rapport semestriel 2024

Related Contents

Descargar PDF  Beckman Coulter UV/ Visible Spectrophotometer Model: DU 800  Cisco Systems 971M Network Router User Manual  USER`S MANUAL - Keep Fit Hire  デジタル信号発生器[3410]    

Copyright © All rights reserved.
Failed to retrieve file