Introduction
Mon stage, d'une durée de 10 semaines c'est déroulé au LIFL (laboratoire).
J'y ai travailler sur le projet QualiDiab (Amélioration du suivi des diabétiques).
Après avoir pris connaissance de l'enssemble du projet, j'ai participé à la mise en place d'une base de donnée Oracle au CERIM (Centre d'Informatique et de Recherche en Informatique Médicale), la base de donnée Internationalle déstinée a contanir les fiches anonimisées des patients diabétiques.
Après création de la base, il était necessaire d'y insere les données antérieures, qui etaient au format d'enregistrement Delphi.
Il a donc était nécessaire de créer un fichier de conversion du format delphi vers le format de la base Oracle, j'ai écris ce programme en Pascal, ce qui permettait de récuperer les structures delphi.
Cette base de donnée étant notament destinée à des fins statistiques, il etait necessaire que l'on puisse y acceder.
Toutefois L'accés à ces données devait être sécurisé est donné uniquement au personnes autorisées (Médecins…), J'ai eu à réalisé l' accés distant (par internet) à cette base de donnée, sécurisé par une carte à puce contenant les droits d'accés de la personne détentrice.
Page xx
Carte |
Programme C |
Programme Java |
Browser |
CGI |
Oracle |
|
|
En Tache def ond: Ouverture d'un port |
|
En attente: Démon HTTP |
|
|
|
|
Appel du CGI. |
|
|
|
|
|
|
Ouverture du port, Création socket (selon Trace.log) |
|
|
|
Détection connexion Avec le CGI |
|
Connexion avec le programme Java |
|
Connexion établie entre le programme java et le CGI.
En cas d'erreur lord de la crétion des ports ou de la connexion, le CGI affiche un message d'erreur dans le browser et s'arrete.
Page xx
Carte |
Programme C |
Programme Java |
Browser |
CGI |
Oracle |
|
|
|
|
Demande d'authentification de la carte. |
|
|
|
Réception de la demande d'autentification (via la socket)->appel C |
|
|
|
|
Ouverture channel avrc la carte, demande clé secrete. |
|
|
|
|
Lecture clé secréte. |
|
|
|
|
|
|
Renvoi de Ack ou Nak |
|
|
|
|
|
|
Envoi du Ack ou Nak au CGI |
|
|
|
|
|
|
|
Si NAK message d'erreur,fin. Si ACK demande d'identification du profil. |
|
|
|
Demande d'identification au prg C |
|
|
|
|
Demande du code secret utilisateur. |
|
|
|
|
Verification code secret, lecture du profil ds un fichier. |
|
|
|
|
|
|
Envoi profil ou Nak au CGI |
|
|
|
|
Page xx
Carte |
Programme C |
Programme Java |
Browser |
CGI |
Oracle |
|||||
|
|
|
|
Si Nak: message d'erreur,fin Si Ack envoi du profil comme login à oracle. |
|
|||||
|
|
|
|
|
Ouverture session. |
|||||
|
|
|
|
Creation page html |
|
|||||
|
|
|
Formulaire de saisie |
|
|
|||||
|
|
|
|
Fabrication requette Sql |
|
|||||
|
|
|
|
|
Traitement requette |
|||||
|
|
|
|
Fabrication page de réponse |
|
|||||
|
|
|
Affichage réponse |
|
|
|||||
|
|
|
|
|
Si fin, fermeture session. |
|||||
|
|
|
|
Déconnection de la socket. |
|
|||||
|
|
Fermeture du port et Retour à l'état d'attente. |
|
|
|
Page xx
Presentation de la carte MPCOS
La Carte MPCOS (Multi-application Payment Chip Operating System) fait partie de la famille des cartes COS de Gemplus.
Son systeme d'exploitation est stocké dans une mémoire de type EEPROM d'une taille de 16 kb, sa structure de donnée est basée sur la norme ISO 7816-4. Il existe des cartes de 8,32 et 64 Kb de RAM.
L'echange de données se fait normallement par le protocole T=0, même s'il est possible d'utiliser le protocole T=1. La Vitesse de transfert pouvant etre fixée jusqu'à 115200 bauds.
La structure de donnée de la carte MPCOS ne comporte que deux niveaux de hierarchie. La racine de cette structure est le MF (Master File), Il peut contenir jusqu'à 63 fichiers.
Ces fichiers sont de deux types : les DF(Dedicated Files : Repertoires) et les EF(Elementary Files : Fichiers). Un DF peut contenir des EF (jusqu'à 63) mais pas de DF puisqu'il n'y a que deux niveaux de hierarchies.Les EF, quant à eux, contiennent les données.
Les DF peuvent etre de deux types : ISO ou PCOS(Gemplus), Les EF dependent du type du fichier (MF ou DF) dont ils font partie.
L'accés aux fichiers de la carte est sécurisé par des codes secrets contenus dans des fichiers de codes secrets (Efsc), chacun de ses Efsc pouvant contenir jusqu'à 8 codes numérotés de 0 à 7.
Chaque Repertoire(MF ou DF) peut contenir un (et un seul) fichier d'Efsc.
Tout fichier (MF, DF, EF) possede des conditions d'accés (en lecture/eciture/modification) stockées dans 2 byte de leur descripteur on y trouve :
La carte enregistre les codes secrets soumis avec succés dans des registres d'autorisation(permet de savoir a tout moment si l'utilisaterur a été validé ou non).
Page xx
Un registre d'autorisation est d'une longueur de 8 bits et est stocké en RAM, la carte MPCOS en posséde deux, le premier aloué au MF, le second au DF actuellemnt séléctionné.
La carte MPCOS posséde dans son systéme d'exploitation un jeu d'instructions relativement important.
Il éxiste deux grand type d'instructions : celles d'administration et celles de paement.
Les commandes administartives peuvent étres de deux types :
Il existe de plus, des fonctions de cryptage qui permettent de sécuriser les transmissions, par exemple la création d'une clé de session qui permet le secure messaging et le cryptage des commandes de payement.
Page xx
LA NORME EDIFACT
EDI signifie Echange de données informatisées, la norme EDIFACT(ONU) a pour but de standardisé les échanges de messages, l'utilistaion de cette norme a notament été recommandé par l'etat français aux ses administrations.
Les messages sont délivrés par Edifact Board ou EdiFrance dans notre pays.
EDIFACT peremet la liason de plusieurs elements différents:
Ceci est sensé au permettre la portabilité du message à travers le monde.
Le messsage EDIFACT recherche l'exhaustivité et l'universalité, c'est pourquoi il est lourd, lent, difficile a normaliser, pénible a utiliser, et très vite obsoléte au regard des nouvelles technologies.
Il est possible d'utiliser les messages EDIFACT sur internet car ils sont encapsulables sous TCP/IP.
Des améliorations de la norme Edifact sont en cours
( Voir : http://www.geocities.com/wallstreet/floor/5815).
Page xx