Ms EBM Haouche
Ms EBM Haouche
Ms EBM Haouche
Remerciement
2
Table des matières
3
1.1.1 Modèle de Lampson ...................................................................................................... 25
1.1.2 Modèle de Harrison-Ruzzo-Ullman ............................................................................... 26
4
Sécurisation des données de santé informatisées
Résumé
Abstract
The access control or authorization; the mechanism which defines and imposes what is
permitted and prohibited; is a major technical and organizational tool when looking to ensure the
security of the system. This field of research treats multiple issues relating to the concept of law in
system.
Faced to the diversity and the growing size of information systems, the historical Access
Control models found their limits: too rigid, insufficiently sure or difficult to administered. These limits
have led to the proposition of roles based access control; whose principle is to give permissions based
on roles; and in the following depending on context in an organization.
5
ملخص
نظرا للتنـوع والحجم المتزايد ألنظمة المعلومـات لقد وجدت النمــاذج التـاريخية لمراقبة الوصول للمعلومات
حدودهـا فهي صـارمة جدا وغير آمنة بمـا فيه الكـفاية أو يصعب إدارتها .هذه القيـود أدت إلى اقتـراح نماذج جديدة للوصـول
الى المعلومات باإلعتماد على األدوارحيث يتم فيها اعطاء الصالحيـات حسب الدور ووفـقا للسيـاق داخل التنظيم.
في هذه المذكرة قمنا بتطوير برمجيات للتحكم في الوصول الى المعلومات خاصة بميدان أنظمة المعلومات الطبية
مستندي ن على النموذج الذي يعتمد على األدوار .البرمجيات المطورة سمحت لنا بالتحقـق من صحـة النمـوذج المعتمد
واقتـراح نهجـا جديـدا لتـنـفـيذه الشبـه التلقـائـي.
6
Introduction Générale
7
Sécurisation des données de santé informatisées
Introduction Générale
Problématique :
Un SICS peut être défini comme un grand réseau dédié à la santé. Il relie des
utilisateurs multiples ; professionnels de santé, patients, personnes administratives, etc. Il
met en jeu des technologies de communication, traitement, télémédecine, paiement,
archivage, et manipule des informations hétérogènes : médicales, paramédicales,
administratives et financières. Le système d’information ne doit pas provoquer une
dégradation de la sécurité avec l’interaction entre les utilisateurs ou face à des personnes
malintentionnées qui arrivent à s’infiltrer en exploitant une vulnérabilité du système afin de
relevé les informations sensibles auxquelles elles n’ont pas d’accès légale. Ou face à un autre
cas fréquent qui concerne les programmes malveillants (les virus, chevaux de Troie, etc.) qui
8
sont développés pour la nuisance d’un système, voire, modifier ou même collecter ses
données pour les réutiliser à des fins malveillantes.
Donc la question qui se pose, c’est comment partager ces informations tout en
protégeant le secret médical ? Et comment couvrir la richesse du dossier médicale par un
modèle de contrôle d’accès ? Notre problématique est de développer une approche pour
l'intégration automatique d’une politique de sécurité dans une application médicale réelle.
Objectifs du mémoire
9
La sécurité et le domaine de la santé
10
Sécurisation des données de santé informatisées
1. Introduction
L’une des tendances de croissance les plus rapides de la technologie est la connectivité
de tous les supports de communication sur un réseau unique homogène. Cette conversation
permet à de nombreuses fonctions disparates de se réunir pour incorporer dans les limites
d'un seul réseau d'information. L’intégration de ces technologies peut introduit des
vulnérabilités dans le réseau d'information de l'hôpital.
Le problème de la sécurité est devenu de plus en plus important dans ce nouveau monde
de l’information du patient confidentielle et accessible.
11
3. Historique du dossier médical
Egalement, les informations peuvent être partagées avec d'autres médecins, équipes
soignantes et/ou la famille.
A la fin du XVIIème siècle apparait « le dossier médical personnel » pour chaque patient.
À titre d’exemple Il était utilisé comme un cahier de registre à l’Hôtel-Dieu à Paris.
Cependant le contenu était succinct.
Depuis 1970, les dossiers de soins infirmiers font partie des dossiers médicaux.
L’ensemble est devenu un outil de communication et de transmissions des données entre les
professionnels de santé et ce quel que soit leurs type d’exercice (secteurs hospitalier et
libéral) [20].
En conclusion, le dossier médical comporte des notes prises par les médecins lors des
consultations est aujourd’hui un document médico-juridique et administratif.
La traçabilité du suivi permet une analyse de la qualité des prises en charge. Il est alors
un moyen d’améliorer la qualité des soins, ceci dans le but d’une meilleure gestion de la
santé de population. De plus, l’accès du patient à son dossier médical permet de lui fournir
une information éclairée de son état et de sa prise en charge. Par conséquent l’intérêt est
double, pour le professionnel et le patient.
L’informatisation de ce dossier sert a gagner beaucoup de temps car elle fait en quelques
secondes des tâches qui autrefois demandaient des heures. Ces taches sont gérées avec
précision et sans fatigue.
12
Le tableau ci-dessous montre certains avantages du dossier informatisé par rapport au
Traditionnel informatisé
Lisibilité du dossier + ++
Sécurité de l'information ++ +
confidentialité + +
Tableau1 : les possibilités offertes par le dossier papier et le dossier informatisé [25]
Non peu moyen fort très fort
0 + ++ +++ ++++
Le dossier informatisé permet d'avoir des aides à la décision, la plupart des logiciels de
dossier destinés au cabinet du médecin libéral intègre des aides à la prescription et à la
vérification de l'ordonnance (détection des incompatibilités médicamenteuses). Concernant
la sécurité des dossiers, l'informatique présente des avantages par exemple dans la
possibilité de vérifier et de tracer les accès, mais une faille dans le système de sécurité peut
permettre d'accéder ou de détruire une grande quantité de dossiers en très peu de temps
alors que dans le cas de dossier papier, l’accès est limité par un nombre limité de dossiers.
Toute personne a droit à la protection de sa santé et aux soins qu’exige son état de
santé, à toutes les étapes de la vie. Le code de la santé publique impose des droits à la
confidentialité et l’accès a aux patients :
13
« Toute personne prise en charge par un professionnel, un établissement, un réseau de
santé ou tout autre organisme participant à la prévention et aux soins a droit au respect de
sa vie privée et du secret des informations la concernant. » [21]
Tout patient de plus que 14 ans a le droit d’accès à son dossier sauf si le médecin traitant ou
designer juge que cela risque de causer un préjudice grave à sa santé
Les héritiers d'un patient décédé peuvent consulter son dossier, mais doivent indiquer le
motif de leur demande.
Le droit d'accès des héritiers est limité aux informations nécessaires à l'établissement de la
cause du décès, à la défense de la mémoire du défunt ou pour faire valoir leur droits.
14
la mise en œuvre de contrôles a priori :
Tous les utilisateurs sont authentifiés de manière forte pour accéder au dossier
Les établissements de santé doivent donc toujours protéger les données personnelles de
santé de leurs patients au sein de leur Système d’Information Hospitalier.
Les gestionnaires des dossiers médicaux contrôle l’accès aux dossiers des patients et
préserve la confidentialité et l’intégrité des données personnelles contenues dans ces
dossiers. Il trace les accès et enregistre toutes les actions d’un patient sur son Dossier
Médical Personnel. Toutefois, lorsqu’un utilisateur accède à des données dans un système
en ligne, ces données sont aussi temporairement présentes dans la machine utilisée. Si cette
machine n’est pas protégée, il peut faire l'objet d'une attaque et héberger un code
malveillant capable d’exploiter ces données. Dans ce cas l’accès au système à partir d’un
terminal protégé contre les attaques Internet et les codes malveillants est une précaution
essentielle de la sécurité. [27]
6.1.1 La disponibilité
Ce concept permet de maintenir le bon fonctionnement du système en fournissant
de l’information aux utilisateurs autorisés aux moments où ils en ont besoin.
15
6.1.2 L’intégrité
Ce concept permet au d’autre utilisateur de lire l’information mais ils n’ont pas le droit de la
modifier.
Une fonction de hashage est utilisée pour contrôler l’intégrité de données, elle associe à
une chaine binaire. La figure 1 illustre comment utiliser une fonction de hashage pour
vérifier l'intégrité d'un document numérique.
6.1.3 La confidentialité
Les informations n’appartiennent pas à tout le monde. Seuls ceux qui en ont le droit
peuvent y accéder. Ceci signifie que le système informatique doit empêcher les utilisateurs
non autorisés de lire une information confidentielle, et empêcher les utilisateurs autorisés
de divulguer une information à d’autres utilisateurs sauf l’autorisation.
16
Exemple de solution c’est le Verrouillage avec clés ou le chiffrement qui est une
transformation cryptographique qui transforme un message clair en un message
L’algorithme est une séquence de transformations sur les données et la clé. Ces
systèmes ont l’avantage d’être efficace en termes de temps de calcul, tant pour le
chiffrement que pour le déchiffrement, mais on souffre d’un problème de distribution de
clés et le secret absolu qui doit l’entourer. Ce type est vu comme un coffre-fort dont la clé
est partagée par les utilisateurs autorisés. Si un utilisateur non-autorisé parvient par un
moyen quelconque à obtenir cette clé, il pourra déchiffrer tous les données.
Clé publique : publiée dans des annuaires publics. n’importe qui peut récupérer cette
clé, en tester l’origine c’est-à-dire dans notre exemple vérifier qu’elle appartient à
Bob et l’utiliser pour chiffrer l’information qu’elle peut envoyer confidentiellement à
Bob.
Clé privée : connue uniquement par son propriétaire, Bob dans la figure 2(b) qui doit
la garder secrète et qui va l’utiliser en particulier pour déchiffrer l’information qu’il
reçoit et qui ont été chiffrés avec son clé publique.
17
Sécurisation des données de santé informatisées
Figure 2(b) : Chiffrement symétrique [30]
Evidemment, les deux clé sont mathématiquement liées mais choisies de telle sorte
qu’il soit pratiquement impossible de calculer la valeur de la clé privé à partir de la clé
publique. Ces fonctions sont à sens unique, la plupart d’elles sont basée sur l’exponentielle
dans un groupe fini et son inverse.
6.1.4 La non-répudiation
Dans le contexte de la sécurité informatique, la répudiation définit le comportement
d’une personne qui nie malhonnêtement avoir reçu ou envoyé certaines informations au
cours d’une transaction ou une communication au travers d’un réseau, alors que ce n’est pas
le cas. La non-répudiation constitue justement un moyen efficace pour identifier l’auteur
d’une transaction. Ce protocole de sécurité permet de prouver la participation d’une entité
dans un échange de données, c’est-à-dire de garantir qu’une transaction ne peut être niée.
18
Quand le récepteur reçoit le message et la signature digitale, il recalcule le code de
hashage, déchiffre la signature avec la clé publique de l'émetteur et compare les deux codes
de hashages. Si les deux codes sont similaires alors la signature est valide.
6.1.5 L’authentification
Le service d’authentification consiste à assurer l’identité d’un utilisateur, cela est effectué
par un contrôle d’accès par exemple des techniques traditionnelles:
– Some Thing you Know : mot de passe
– Some Thing you Have : carte à puce
– Some Thing you Are : empreinte digitale
6.1.6 La traçabilité : elle consiste à garder trace de l'heure d'accès, des informations
divulguées, du nom et de l'adresse de l’utilisateur, de l’objectif etc.
Par exemple, dans le domaine médical, l’accès au dossier médical peut être forcé en cas
d’urgence pour sauver la vie de patient. Par contre, les circonstances des accès doivent être
sauvegardées pour justifier par la suite les raisons de ces accès.
19
En Effet, Toute information circulant sur Internet peut être capturée, enregistrée ou
modifiée : Problème de confidentialité et d’intégrité.
Aucune preuve n’est fournie par l’application sur l’accès au dossier médical: Problème
d’absence de traçabilité.
Ces critères sont généralement assurés par des techniques et mécanismes qui
portent essentiellement sur divers aspects, tels que :
La sécurité d'un réseau est un niveau de garantie que l'ensemble des machines du
réseau fonctionnent de façon optimale et que les utilisateurs possèdent uniquement les
droits qui leur ont été accordés.
Il peut s'agir :
d'empêcher des personnes non autorisées d'agir sur le système de façon malveillante.
d'empêcher les utilisateurs d'effectuer des opérations involontaires capables de nuire
au système
de sécuriser les données en prévoyant les pannes
de garantir la non-interruption d'un service
La clé pour une bonne sécurité réseau réside dans la mise en place de mécanismes
d’isolation entre les différentes composantes de réseau, l’outil de base pour cela est le
filtreur de trafic pare-feu (firewalls en anglais) qui permettent de surveiller et de restreindre
les accès de l’extérieur (par exemple, l’Internet) vers l’intérieur (une machine, un réseau
local, les réseaux de l'hôpital), et aussi les accès de l’intérieur vers l’extérieur grâce à un
ensemble de règles. Les pare-feu comportent des fonctions de filtrage qui ne laissent passer
que les paquets en provenance des adresses (IP+numéro de port) autorisées, et se
20
préoccupent le plus souvent de la résolution des problèmes de confidentialité et d'intégrité
des données qui transitent.
On distingue deux grands types d’approches pour détecter des intrusions. La première
consiste à rechercher des signatures connues d’attaques tandis que la seconde consiste à
définir un comportement normal du système et à rechercher ce qui ne rentre pas dans ce
comportement. Un système de détection d’intrusions par recherche de signatures connaît ce
qui est mal, alors qu’un système de détection d’intrusions par analyse de comportement
connaît ce qui est bien. On parle de détection de malveillances et de détection d’anomalies...
Cette approche tente de mettre en forme des règles qui décrivent les usages non
désirés, en s’appuyant sur des intrusions passées ou des faiblesses théoriques connues.
21
6.3.2 La détection d’anomalies
Cette approche se base sur l'hypothèse que l’exploitation d’une faille du système
7. Conclusion
22
Sécurisation des données de santé informatisées
Etat de l’art sur la sécurité du dossier médical
informatisé
23
Introduction
Avec l’ère du numérique, toute une variété de nouveaux défis techniques, scientifiques et
sociaux est apparue. L’un d’entre eux est la sécurité des systèmes d’information.
Beaucoup des travaux sont réalisé dans le domaine médicale, des modèles sont
proposé et d’autre sont réutilisé. Le modèle DAC (Contrôle d’Accès Discrétionnaire), est le
plus ancien de ces modèles, c’est un mécanisme décentralisé basé sur l’utilisateur dans
lequel le créateur d’une donnée possède la pleine discrétion de définir les autorisations.
MAC (Contrôle d’Accès Mandataire) est un mécanisme de contrôle d’accès basé sur
l’étiquetage (exemple : Top Secret, Secret..) des différentes entités (sujets et objets) du
système. D’autres politiques de sécurité, fondés sur le concept de rôle, sont une première
étape pour répondre à tels besoins sectoriels. La famille des modèles RBAC (Contrôle
d’Accès à Base de Rôle) présente une nouvelle organisation des droits centrée sur le concept
de rôle pour simplifier l’administration des droits des grands systèmes.
Plus récemment, les modèles TBAC (Contrôle d’Accès A base de Tache) et TMAC
(Team based Accès Control) ont également été proposés. Ces modèles raffinent le modèle
RBAC en introduisant respectivement les notions de tâches et d’équipes.
24
Ainsi, des modèles et politiques, reposant sur les notions de contextes C-TMAC (Context
Team based Accès Control) et O-RBAC (Contrôle d’accès a base d’organisation).
Dans le cas d’une politique discrétionnaire, les droits d’accès à chaque information
sont manipulés librement par le responsable de l’information (généralement le propriétaire),
chaque objet à un propriétaire qui décide quels sont les sujets qui ont accès à cet objet.
Ce modèle peut être représenté par un triplet (S, O, Mso) où S désigne les sujets, O
les objets et Mso la matrice de contrôle d’accès qui associe à chaque couple (sujet s, objet o)
un ensemble de droits d’accès.
La matrice représentée dans le tableau 3 nous montre que le droit d’accès r est
associé au sujet Si et l’objet Oj. Les droits correspondent généralement à des actions
élémentaires telles que « lire » ou « écrire ». La matrice des droits d’accès n’est pas figée. En
effet, si de nouveaux objets, de nouveaux sujets ou de nouvelles actions sont ajoutées dans
le système, il devient alors nécessaire d’enregistrer toutes les permissions accordées pour
ces nouvelles entités. Par conséquent, si la matrice est de taille petite, on n’a aucun
problème, mais si cette matrice est de grande taille cela pose une difficulté de la mise à jour
25
du politique de sécurité exprimée par ce modèle. Enfin, ce modèle ne permet pas d’exprimer
directement des interdictions ou des obligations.
La politique de sécurité est réduite à l’expression des permissions ; ces dernières étant
des relations entre les sujets, les objets et les actions. Elles sont représentées dans la matrice
A des permissions.
Si s est un sujet et o est un objet alors, A(s, o) définit l’ensemble des actions α que le sujet s
est autorisé à faire sur l’objet o.
Exemple de politique d'accès discrétionnaire, gestion des droits d'accès aux fichiers sous
UNIX : Trois types d'accès : « read » « write » « execute »
26
o Lui-même
o Son groupe
o Les autres utilisateurs
Afin de comprendre comment le cheval de Troie peut amener à une fuite d’information
vers des utilisateurs non autorisés, nous prenons un exemple :
Supposons dans un hôpital, Bob, directeur, crée un fichier antécédent (diagnostic) contenant
des informations très sensibles sur le patient. Ces informations sensibles, d’après la politique
de l’organisation, ne devraient être accessibles que par Bob. Supposons maintenant qu’un
utilisateur malveillant David, un adjoint de Bob, veuille récupérer cette information sensible,
Pour cela, David crée un fichier observation et donne l’autorisation à Bob d’écrire dans ce
fichier. David, ensuite, introduit deux opérations cachées dans l’application utilisée par Bob.
Ces opérations sont lire dans le fichier diagnostic et écrire dans le fichier observation. Une
fois que Bob exécute l’application, les opérations lire et écrire vont être permises. Puisque,
l’utilisateur malveillant David est le propriétaire du fichier observation il pourra accéder à ce
fichier et récupérer les informations désirées. [4]
En plus, les modèles DAC sont assez statiques car une fois que la matrice d’accès est en
place, sa modification peut être complexe si elle est grande.
27
considérés comme confidentiels de sorte que seulement un employé, ses directeurs et le
personnel du département peuvent avoir accès à cette information.
L’utilisation du modèle MAC dans le domaine de la santé implique que l’autorité de santé
est la seule instance à pouvoir définir la politique de sécurité.
Depuis 1975 on sait que le modèle de contrôle d’accès ne permet pas de prendre en
compte les applications piégées par un cheval de Troie opérant par recopie de fichiers. Le
modèle de contrôle des flux constitue une alternative au modèle de contrôle d’accès.
28
De nombreux modèles de politiques de flux d’information ont été proposés dans la
littérature. Nous présenterons successivement dans cette section le modèle en treillis inspiré
Un exemple de politique de flux d’information le plus courant est celui utilisé dans le
milieu militaire. Il est composé de 4 niveaux de confidentialité (non classifié, diffusion
restreinte, confidentiel, secret) totalement ordonnés.
S un ensemble de sujets ;
un ensemble d’objets ;
A les opérations d’accès sur les objets {execute, read, write, append}
L un ensemble de classes de sécurité avec un ordre partiel ≤ ;
un état est une matrice (S × O → A) qui pour chaque sujet s ∈ S, chaque objet o ∈ O,
décrit tous les accès autorisés a ∈ A.
A chaque sujet est attribué une habilitation h(s) ∈ L et à chaque objet est associé une
classification c(o) ∈ L. Ces habilitations et classifications sont fixes et n’évoluent pas lors des
modifications de l’état du système.
Un état est considéré comme sûr s’il respecte les deux propriétés suivantes : [6]
La propriété simple permet d’assurer qu’un sujet n’accède en lecture qu’à des objets dont le
niveau de classification est inférieur à son niveau d’habilitation. Cette propriété permet
d’assurer le contrôle d’accès à l’information.
29
La propriété ⊛ permet de contrôler le flux d’information en empêchant un sujet pouvant
accéder à un objet d’un niveau de classification d’écrire le contenu de celui-ci dans un objet
Le cheval de Troie de Bob va travailler en tant que sujet Secret, car créé par un sujet
Secret par la propriété ⊛. En conséquence, le cheval de Troie ne pourra pas créer de fichier
de classe Non-classifié, par la même propriété ⊛. Finalement, Charlie ne pourra lire aucun
fichier créé par Alice, Bob ou le cheval de Troie par la propriété de sécurité simple. [8]
Ces types des modèles sont généralement réservés à des usages militaires qui traitent de
la confidentialité, a cause de ces règlements rigide et ils sont plus complexe a implémenté.
La politique basée sur les rôles (RBAC, pour Role-Based Access Control) a été proposé
pour la première fois selon Amal HADDAD [1] en 1992 par David Ferrailo et Richard Kuhn
dans l’article [9], attachés au département de commerce des Etats-Unis. Ce modèle propose
de structurer l’expression de la politique d’autorisation autour du concept de rôle.
Un rôle représente de façon abstraite une fonction identifiée dans l’organisation (par
exemple, chef de service, ingénieur d’étude, etc.). À chaque rôle, on associe des permissions,
ensemble de droits correspondant aux tâches qui peuvent être réalisées par chaque rôle.
30
Contrairement aux modèles qui ont précédé RBAC (HRU, par exemple), les permissions
ne sont plus associées d’une façon directe aux sujets, mais à travers des rôles. Ensuite, les
RBAC est considéré comme un système « idéal » pour les entreprises dont la fréquence
de changement du personnel est élevée (c’est un modèle dynamique). En effet quand un
sujet X est remplacé par le sujet Y, il n’est pas nécessaire d’affecter à Y individuellement
toutes les permissions de X mais il suffit d’affecter à Y le même rôle de X.
Un rôle peut avoir plusieurs permissions et une permission peut être associée à
plusieurs rôles. De même qu’un sujet peut être membre de plusieurs rôles et inversement,
un rôle peut être exécuté par plusieurs sujets. Ainsi, si le docteur X est à la fois chirurgien et
directeur de l’hôpital, en tant que chirurgien, il aura le droit d’accès aux dossiers médicaux,
alors qu’en tant que directeur, il pourra accéder aux informations administratives.
Figure 8 ; Attribution des permissions aux sujets à travers des rôles. [11]
Par exemple, le rôle chirurgien possède toutes les permissions du rôle médecin.
Ce modèle est toujours vulnérable aux attaques par cheval de Troie, il nécessite de mettre
en place une procédure d’administration des rôles.
31
1.5 Modèles de contrôle d’accès à base des tâches TBAC
Le modèle TBAC fut le premier modèle à introduire le concept de tâche [10]. Cette notion
permet de contrôler les activités exercées par les utilisateurs d’un système d’information au
sein de l’organisation. TBAC n’intègre pas la notion de rôle. Le modèle TR-BAC (Task and Rôle
BAC) a été défini pour l’adaptation et l’intégration de cette notion. Dans ce cas, les droits
sont activés en fonction d’un rôle et portent sur la réalisation des tâches.
TBAC est bien adapté pour le calcul distribué et les activités de traitement de
l'information avec de multiples points d'accès, c’est un modèle de sécurité "actifs". Dans une
approche active de la gestion de sécurité, les autorisations sont constamment surveillés et
activés et désactivés en conformité avec des contextes émergeants associé à des tâches
progressant.
TBAC présente l’inconvénient de ne pas prendre en compte des contraintes sur les
horaires ou périodes d’accès pendant lesquels les utilisateurs sont en charge de la réalisation
de leurs activités. Le manque constaté est couvert par d’autres modèles formels de contrôle
d’accès.
Le modèle TMAC (pour Team-based Access Control en anglais) a été formulé pour la
première fois selon Anas ABOU EL KALAM [11] en 1997 par Thomas dans son article TMAC: A
primitive for Applying RBAC in Collaborative Environment.
Le but était de fournir un contrôle d’accès pour les systèmes d’information ayant des
activités nécessitant la collaboration de plusieurs personnes. L’entité de base, l’équipe, est
une abstraction qui encapsule un ensemble d’utilisateurs ayant des rôles différents et qui
collaborent dans le but d’accomplir une tâche commune. Les utilisateurs appartenant à une
équipe donnée devront avoir accès à l’ensemble des ressources utilisées par l’équipe, et ces
permissions dépendent des variables environnementales (lieu, temps, le patient traité, etc.),
elles peuvent donc changer selon le contexte.
C-TMAC (Context-based Team Access Control) est une adaptation de TMAC aux
domaines dépendant du contexte tels que celui de la santé, par exemple, un patient est
traité dans le service de médecine générale. Suite à une attaque cardiaque, il est transféré
32
d’urgence à l’unité de soins cardiologiques. Donc la tâche de l’équipe de cardiologie est
exécutée durant un intervalle de temps donné et dans un endroit spécifique. Les variables
C-TMAC utilise un mélange de RBAC et TMAC, et consiste en cinq entités : utilisateurs, rôles,
permissions, équipes et contextes.
La déduction des privilèges se fait selon les deux règles suivantes : [12]
L’ensemble des permissions finales, réduit privilège-rôle en tenant compte du contexte des
équipes de l’utilisateur.
Le contexte du rôle précise les valeurs que doivent prendre certaines variables pour
autoriser l’utilisateur à jouer le rôle. Il est parfois possible d’associer des contraintes aux
rôles, par exemple : la cardinalité, pour désigner le nombre maximal d’utilisateurs autorisés
à jouer le rôle ; l’exclusion mutuelle statique, pour spécifier qu’un utilisateur ne peut jamais
jouer deux rôles (dans le même établissement, être personnel soignant et comptable) ;
l’exclusion mutuelle dynamique pour obliger l’utilisateur à ne pas jouer deux rôles
simultanément (médecin à l’hôpital et médecin travaillant pour une société d’assurance),
etc.
Le contrôle d’accès basé sur les équipes, C-TMAC considère deux relations binaires
(utilisateur, rôle) et (utilisateur, équipe). Un utilisateur peut donc activer n’importe lequel de
ses rôles dans n’importe laquelle de ses équipes. Dans la pratique, même si un utilisateur a
le droit de jouer plusieurs rôles, il n’a pas forcément le droit de les jouer dans n’importe
laquelle de ces équipes. Le modèle Or-BAC traite ce problème en ajoutant la notion de « rôle
dans organisation ».
33
1.7 Modèle de contrôle d’accès à base d’organisation (Or-BAC)
Ces deux niveaux sont reliés de la façon suivante. Dans une organisation org, un sujet s a la
permission d’exécuter une action α sur un objet o si :
(4) : org accorde au rôle r la permission de réaliser l’activité a sur la vue v dans le
contexte c, et dans org; le contexte c est satisfait entre le sujet s, l’action α et
l’objet o.
Alors une requête par le sujet s de réaliser l’action α portant sur l’objet o est acceptée.
34
On remarquera également la position centrale de l’organisation. Une organisation peut être
La relation Habilite (figure 10). Si org est une organisation, s est un sujet et r est un rôle,
alors Habilite(org, s, r) signifie que org habilite le sujet s à jouer le rôle r.
Un sujet est soit un utilisateur, soit une organisation. Par exemple {Habilite (H1,
Dr.Mohamed, cardiologue) : « l’hôpital H1 habilite Dr.Mohamed dans le rôle cardiologue »}
ou {Habilite (H2, ICU31, unité_des_soins_intensifs) : « l’hôpital H2 habilite l’unité ICU31 dans
le rôle d’unité des soins intensifs »} [15]
Les rôles nous permettent de structurer les sujets et de faciliter la mise à jour de la
politique de sécurité quand un nouvel utilisateur est ajouté.
35
Sécurisation des données de santé informatisées
Figure 11 : relation Utilise. [3]
Dans la mesure où les vues caractérisent la manière dont les objets sont utilisés dans
l’organisation, nous avons besoin d’une relation qui lie ces trois entités : la relation Utilise
(figure 11), Utilise (org, o, v) signifie que org utilise l’objet o dans la vue v.
Les activités correspondent à des actions qui ont un objectif commun, ils pourront être
« consulter, modifier, transmettre, etc ».
36
Et Considère (H2, select, consultation) : « l’hôpital H2 considère select comme une
consultation ».
Les contextes sont utilisés pour spécifier les circonstances concrètes dans lesquelles
les organisations accordent aux sujets des permissions de réaliser des actions sur les objets
telles que « urgence », « médecin traitant », etc.
Les contextes peuvent être vus comme des relations entre les sujets, les objets et les
actions définis dans une certaine organisation. Par conséquent, ces quatre entités sont liées
par une nouvelle relation appelée Définit. Telle que : Définit (org, s, α, o, c) signifie qu’au
sein de l’organisation org, le contexte c est vraie entre le sujet s, l’objet o et l’action α
Par exemple,
Si le premier fait est vrai, alors Mohamed n’a pas besoin d’être le médecin traitant du
patient correspondant au dossier médical F31.doc pour consulter son dossier. En effet, il est
raisonnable de considérer que dans un contexte d’urgence, les médecins ont un accès
immédiat à tous les dossiers médicaux. Si le second fait est vrai, alors Ali doit être le médecin
traitant du patient dont le dossier médical est F32.tex : dans un contexte normal comme
« médecin traitant ».
37
Or-BAC permet d’exprimer aussi bien les autorisations, que les interdictions ainsi que les
obligations/recommandations. On pourra ainsi, grâce aux obligations, autoriser un infirmier
2. Résumé
Le contrôle d'accès, c'est le mécanisme qui définit et impose ce qu’il est permis et
interdit de faire, c'est un outil technique et organisationnel incontournable lorsqu’on
envisage de garantir la sécurité d’un système. Le tableau suivant représente un résumé de
chaque modèle de sécurité détaillé dans ce chapitre
modèle principe
Dans les modèles discrétionnaires DAC les utilisateurs sont autorisés à définir leur
propre règlement de sécurité sur les
informations dont ils sont propriétaires, en
attribuant et en retirant des droits aux autres
membres de l'organisation.
Politiques et modèles de sécurité par équipes l’équipe est utilisée pour représenter un groupe
d’utilisateurs, ayant des rôles spécifiques, et qui
C-TMAC collaborent pour réaliser une activité.
L’ensemble des droits de l’utilisateur est
combiné avec l’ensemble des droits de l’équipe,
et les droits finaux sont dérivés à partir du
contexte.
Le modèle de contrôle d’accès basé sur les des permissions sont attribuées à un sujet en
rôles RBAC fonction des rôles.
Contrôle d’accès basé sur les organisations Dans une organisation org, un sujet s a la
ORBAC permission d’effectuer une action α sur un
objet o si dans cette org:
38
• s est habilité dans un certain rôle r.
• α implante une certaine activité a.
• o est utilisé dans une certaine vue v.
Contrôle d’accès à base des tâches TBAC La famille des modèles TBAC propose de
structurer les droits selon les tâches que les
acteurs du système d’information doivent
effectuer, mais sans concept de rôle.
Ces modèles de sécurité sont proposées pour organiser les droits d’accès dans un système.
Mais le problème reste toujours, comment choisir le bon modèle qui garantit une meilleure
sécurité des données de santé informatisées ?
Le tableau si dessous représente une brève définition d’un ensemble des propriétés
respecté par les politiques de contrôle d’accès :
Propriétés définition
39
contexte exprime des règles de sécurité spécifiques à certain circonstances
concrètes qui entourent un fait.
Interdiction Action d’interdire quelque chose ; par exemple, les médecins n’ont
pas le droit d’effacer des diagnostics déjà établis.
confidentialité Sorte de garantie de protection d'un secret lors d'une étude de dossier
[18]
, l’information ne doit être accessible qu’aux ayants droits
Chaque modèle répond aux besoins spécifiques qui surviennent au long du cycle de
vie du contrôle d’accès, Pour cela on a essai de synthétiser ces modèles par rapport a
l’ensemble de ces propriétés :
ROLES * * *
NIVEAU DE * *
CONFIANCE
CONTROLE DE FLUX * * *
EQUIPE *
CONTEXTE * *
PERMISSION * * * * * * *
40
INTERDICTIONS * *
OBLIGATION *
INTEGRITE * * * * * * *
MODELE * * *
DYNAMIQUE
FACILITE DE LA MISE * * *
A JOUR
Le modèle de sécurité DAC reste la base de la sécurité Linux, Le DAC Unix est un
modèle de sécurité relativement simple, toutefois, conçu en 1969. En résumé, Le DAC Unix
permet au propriétaire d'un objet (un fichier par exemple) de décider de la politique de
sécurité en ce qui concerne cet objet. En tant qu'utilisateur, vous pouvez, par exemple, créer
un nouveau fichier dans votre répertoire personnel et décider de qui peut lire ou écrire ce
fichier. Les permissions d'accès au fichier, comme la lecture et l'écriture, peuvent être
positionnées séparément pour le propriétaire, C'est une forme relativement simple de liste
de contrôle d'accès. [15]
Trusted Extensions offre des fonctionnalités qui permettent à une organisation de définir
et de mettre en œuvre une stratégie de sécurités qui correspond à l'ensemble de règles qui
vous aident à protéger et gérer les autorisations d'accès de chacun aux différents types
41
d’informations pour votre système Oracle Solaris, en proposant à la fois un contrôle d'accès
discrétionnaire et un contrôle d'accès obligatoire.
La stratégie MAC utilise les étiquettes de sensibilité à tous les processus créés pour
exécuter des programmes. [16]
42
Sécurisation des données de santé informatisées
Figure 15 : générateur d'étiquettes
Une fois vous êtes connecté vous pouvez travailler dans Trusted Extensions.
43
Trusted Extensions utilise des conteneurs pour l'étiquetage. Les conteneurs sont
également appelés zones. La zone globale est une zone d'administration et n'est pas
La communication réseau est limitée par étiquette. Par défaut, les zones ne peuvent
pas communiquer les unes avec les autres car leurs étiquettes sont différentes.
L’administrateur peut configurer des zones spécifiques afin qu'elles puissent lire des
répertoires spécifiques d'autres zones. Par exemple, le répertoire personnel d'un utilisateur
situé dans une zone de niveau inférieur peut être monté à l'aide du service de montage
automatique.
3.3. MotOrBAC
L’éditeur de politique de sécurité MotOrBAC, un outil permettant de spécifier des
politiques de sécurité utilisant le modèle Or-BAC.
44
Sécurisation des données de santé informatisées
Figure 18 : Edition de la politique abstraite [17]
Editer une politique Or-BAC consiste en la définition d'une hiérarchie d'organisations ainsi
que les hiérarchies de rôles, activités et vues.
Spécification des règles abstraites, les rôles les activités et les vues.
la gestion des conflits, MotOrBAC peut détecter les conflits abstraits et concrets, et
identifier les couples de règles conflictuelles avec les couleurs. Et il peut aussi
proposées des solutions à l'utilisateur pour éliminer un conflit.
45
Sécurisation des données de santé informatisées
Figure 19: gestions des conflits [17]
Définition d’entités, les entités sont utilisées pour définir des contraintes que la
politique doit respecter. Par exemple, un sujet ne peut être affecté au rôle "extern"
dans l'organisation "x" seulement s’il possède un attribut nommé "internat" qui a la
valeur "obtenu".
Simulation de la politique concrète, sujets, actions et objets. MotOrBAC peut afficher
la politique concrète dérivée d'une politique abstraite et pour chaque règle concrète
montre son état d'activation.
4. Conclusion
Dans ce chapitre, nous avons présenté le maximum des modèles de contrôle d’accès
connus dans la littérature. Ces différents modèles permettent de spécifier si un sujet à
l’autorisation de réaliser une action sur un objet du Système d’information.
46
47
Modélisation, implémentation et contribution
Le modèle Or-BAC est le plus utilisé dans le domaine médicale, néanmoins il répond à la
pluparts des besoins de sécurité (voir tableau 5 ; chapitre 3) et il est simple à réaliser.
Le concept de rôle est indispensable dans les systèmes d’information médicale. En effet, on
trouve les professionnels de santé, des personnes administratives, des patients, Pharmacien
etc.
Un utilisateur peut avoir plusieurs rôles, mais il n’a pas forcément le droit de les jouer dans
n’importe quelle organisation.
Dans une organisation, les sujets sont structurés en rôle. Pour cela nous avons définie
« Role » comme association (figure 20).
Organisation Sujet
0..n Role 0..n
Org sujet
ll
..
Figure 20 : Diagramme entité/association représentant l’association Rôle dans une
organisation
48
L’attribution des droits d’accès aux documents patient se fait par le biais de la structuration
en rôles qui correspond à un profil de règles de contrôle d’accès et n’a de sens que dans
Objet Organisation
..
Figure 21 : Diagramme entité/association représentant les objets et les vues dans une
organisation
La figure ci-dessus montre que dans une organisation ; les objets sont structurés en
vues. Cette manière de structuration permet d’exprimer qu’une même vue peut être définie
différemment suivant l’organisation considérée. Par exemple un hôpital X utilise un système
de fichiers, et que l’hôpital Y utilise une base de données ; la vue « dossier médical » peut
être définie à X comme un ensemble de documents textes, tandis qu’à Y, cette même vue
correspond à des attributs ou à des tables de la base [11].
Les actions sont aussi regroupées en activité qui correspond aux divers services offerts
aux utilisateurs, à titre d’exemple on cite :
49
On peut dire : les actions « modifier ou supprimer » un document corresponds a une activité
commun « écriture »
Si nous considérons l’activité « lecture », celle-ci peut correspondre, dans une organisation
X, à l’action « lire » un fichier, mais peut tout aussi bien correspondre à l’action « select »
dans Y.
En plus des rôles et des groupes d’objets, nous tenons compte le contexte dans
lequel la requête d’accès est faite. Pour chaque document du dossier médical, il existe des
contraintes qui sont exprimées à l’aide des contextes.
Par exemple, le seul fait d’être un médecin (avoir le rôle médecin) ne donne pas le droit
d’accéder aux données privées des patients qu’il ne traite pas. (Médecin X traitant un
patient M) et (Médecin Y traitant un patient N). Dans ce cas, l’instance X du rôle médecin
possède des privilèges sur le patient M (et aucun privilège sur N), alors que l’instance Y
du même rôle médecin possède des privilèges sur le patient N (et aucun privilège sur M).
Son utilisation permet de contraindre les sujets concernés par les permissions ou les
interdictions dépendant de ces contextes et qui vient réduire ou étendre les droits
d’accès hérités du rôle associé.
Ce sont des contextes régissant la durée de validité des droits d’accès au dossier médical
50
- la durée pendant laquelle on peut endosser un rôle.
Contexte Objet :
Urgence :
Ce type de contexte est activé, par exemple, par le médecin chef du service des urgences
dans le cas où un patient dans un état grave y est transféré. En effet, aucun traitement
ne peut lui être appliqué sans consultation au préalable du dossier médical. Dans ce cas,
le médecin chef de ce service est habilité à activer ce contexte pour récupérer les droits
d’accès appropriés.
Anas Abou El Kalam [11] a été représenté le modèle Or-Bac par des classes associations
RdO (rôle dans organisation), VdO (vue dans organisation), AdO (action dans organisation) et
CdO (contexte dans organisation). La figure 24 montre qu’un utilisateur ne peut activer son
rôle que dans l’organisation ou il appartient.
Utilisateur
id
0..n
Action Role
1..n RoleDansOrganisation 1..n role
action
ll
Et pour les autres classes il a utilisé le même principe, Ce sont des classes associations entre
l’organisation d’une part, et le rôle, la vue, l’activité et le contexte.
Selon le besoin et les niveaux d’abstraction, ces concepts peuvent servir à [11] :
- structurer les sujets, les objets et les actions par des entités abstraites ;
- identifier les rôles, vues et activités présents dans chacune des organisations du
système ;
51
- spécifier qu’un utilisateur peut jouer différents rôles dans différentes organisations,
mais pas forcément les mêmes rôles dans chacune de ces organisations ; montrer
0..n
0..n
0..n
0..n
0..n Est-Permis
Objet Action Est-Interdit
0..n
0..n Est-Obligatoire
objet action 0..n
n
Contexte
contexte
52
La spécification d’une politique Or-BAC se fait au niveau organisationnel (dit abstrait).
La politique implantée (dite concrète) est d’dérivée de la politique organisationnelle. Cette
La relation définit signifier que le contexte est vrai entre un sujet une action et un
objet, Les relations (Est-Permis, Est-Interdit, Est-Obligatoire) permettent à une organisation
donnée de spécifier les permissions accordées Dans le but de modéliser des permissions
concrètes, ces relations permettre de décrire les actions concrètes que réalisent les sujets
sur les objets.
L’étape suivante est de représenter la structure de notre code orienté objet par un
diagramme de classe (figure 26).
Notre modélisation montre que les éléments de politique de sécurité sont repartis en
deux parties ; une politique abstraite et une politique concrète. Une politique abstraite est
composé de règles de sécurité dans laquelle on donne a un rôle l’autorisation (interdiction)
de réaliser une activité dans une vue, ensuite une politique concrète est dérivé de la
politique abstraite ; c’est-à-dire : un sujet jouant un rôle peut réaliser une action dans cette
activité sur un objet dans une vue.
53
Voici quelque capture d’écran de l’interface : création de la politique Or-Bac
La Saisie d’une politique de sécurité se fait par l’administrateur ; qui peut introduire
les différentes entités spécifiques au Système d’information dont il gère la sécurité
(organisations, rôles, activités, vues et contextes) et les règles de sécurité associées.
54
Au moment de la création des sujets, ont associé a chaque utilisateur un rôle
Ensuite on donne à chaque rôle un ensemble des autorisations, ce qu’est représenté dans la
capture ci-dessous.
55
Une règle autorisation est définit soit au niveau abstrait ; et donc un sujet jouant un
rôle dans une organisation a tout le droit de réaliser une action a (dans activité) sur un objet
La politique mise en œuvre considère que tout ce qui n’est pas autorisé est
interdit ; dans certains cas, des interdictions sont exprimées pour renforcées par des boîtes
de dialogues indiquant à l’utilisateur qu’il n’est pas autorisé à faire l’action demandée.
Les obligations sont implémentées par des actions automatiques comme par exemple :
l’enregistrement de données de connexion, la conservation automatique des documents
dans les antécédents …
Comme on a déjà décrit, dans le modèle Or-Bac les autorisations sont exprimer dans
un contexte, on prend à titre d’exemple le contexte temporel, l’ajout d’un nouveau contexte
seras ajouter automatiquement dans la classe autorisation, et après l’expiration de ce
contexte il sera supprimer automatiquement par le système.
56
Partie II Contribution
57
Tableau 6 : Exemple des droits d’accès
Figure 32 : Détection des points d’accès et intégration de la politique de sécurité dans une
application
58
public class securite {
public String test="faux";
public securite () throws Exception {
59
Dans cette figure l’utilisateur envoie une requête avec un ensemble de paramètres
comme son rôle, l’action, l’objet et le contexte. L’application elle va envoyer une demande
2. Expérimentation :
Les captures d’écran suivantes (voir figures 34, 35 et 36) montrent le scénario en cas
de non sécurisation du prototype développé:
60
Sécurisation des données de santé informatisées
Figure 36 : la vue patient
Si l’utilisateur connecté possède un droit définis dans la politique de sécurité, l’accès sera
autorisé, si non la requête demandé est refusée. La figure 38 interdit un utilisateur de lire la
vue médecin :
61
Sécurisation des données de santé informatisées
Figure 38 : un exemple d’un cas de refus d’une demande
Chaque accès à la base de données sera mémorisé, on considère cette tache comme une
obligation, elle doit être activé par l’administrateur générale. Cela permet de garder une
certaine traçabilité sur l’accès au système (figure 41).
62
Sécurisation des données de santé informatisées
Conclusion :
Dans ce chapitre, nous avons montré que la définition d’une politique de sécurité est
une étape nécessaire pour obtenir des systèmes pouvant satisfaire des exigences de sécurité
élevées. Dans la première partie de ce chapitre nous avons choisi de modéliser et
développer (implémenter) une politique de sécurité Or-Bac. Cette dernière permet
d’exprimer des permissions, des interdictions et des obligations, et elle prend en compte des
informations de contexte dans l’expression des règles. Dans la seconde partie de ce chapitre
nous avons décrit notre contribution qui consiste à proposer une nouvelle approche
automatique pour l’intégration de la politique de sécurité dans une application du domaine
médical. L’outil réalisé nous a permet de validé l’approche proposée.
On compte dans l’avenir intégrer l’application sécurité comme un plugin dans les
enivrements de développements intégrés comme par exemple l’IDE NetBeans ou Eclipse.
63
Conclusion Générale
64
Sécurisation des données de santé informatisées
Conclusion générale
Dans ce projet nous avons dressé un état de l’art exhaustif des modèles de sécurité
ce qui nous a permis de choisir objectivement le modèle le plus approprié au domaine
médicale.
65
Référence Bibliographique :
[2] BELLAL Toufik «Expression d'une politique de sécurité dans un réseau social » Janvier 2010 : 8
[4] Saida Medjdoub ; Modèle de contrôle d’accès pour XML : « Application à la protection des
données personnelles » Présentée et soutenue publiquement Le 8 décembre 2005 ;
HAL Id: tel-00340647; https://tel.archives- ouvertes.fr/tel- 00340647; Submitted on 21 Nov
2008 :p10
[5] Sofiene Boulare « Validation des politiques de sécurité par rapport aux modèles de contrôle
d’accès » , Université du Québec en Outaouais, Aout 2010 : 15
[6] Thomas DEMONGEOT « Politique de contrôle de flux d'information de définie par les
utilisateurs pour les orchestrations de services ». Mise en œuvre dans un orchestrateur BPEL.
Soutenue le 19 décembre 2013.HAL Id: tel-00959447 :26-29
[7] Alban Gabillon « Contrôle d’accès – Contrôle de flux – Contrôle d’usage – Le projet ANR
FLUOR ». Université de la Polynésie Française. (2007 – 2010)
[9] Ferraiolo, David F. and Kuhn, D. Richard (1992): Role-Based Access Controls. In: 15th National
Computer Security Conference October 13-16, 1992
[12] (Anas Abou El Kalam — Yves Deswarte), « Modèle de sécurité pour le secteur de la santé »
LAAS-CNRS, 7 avenue du Colonel Roche — 31077 Toulouse Cedex 4 — France, page 7.2004
66
on Policies for Distributed Systems and Networks (Policy 2003), Lake Come, Italy, June 4-6,
2003.
[15] http://olsc.org/m34-securite-linux/2013/11/26_securite-linux-vue-densemble.html
(Consulté le 18/02/2015)
(Consulté le 08/06/2015)
[19] Rapport de séminaire réalisé par un groupe de 10 élèves en formation initale. Animateur
Franck LE DUFF « le dossier médicale informatisé : limites éthiques et contraintes
professionnelles liées au partage des données médicales ». Thème n°23, année 2001 :4
[20] Comité éditorial pédagogique de l'UVMaF « Le dossier médical ». Support de Cours.
Université Médicale Virtuelle Francophone. 2011-1012 : 3
[22] Code pénal - Article 226-13 : Modifié par Ordonnance n°2000-916 du 19 septembre 2000 -
art. 3 (V) JORF 22 septembre 2000 en vigueur le 1er janvier 2002
[23] Code de la santé publique - Article L1111-7, Modifié par LOI n°2011-803 du 5 juillet 2011 -
art. 9
[25] http://www.uvp5.univ-paris5.fr/staticmed/e-
dosmed/cours/dossier%20patient/references/Avantages.html (consulté le 20/02/2015)
[26] Santé - CNIL - Commission nationale de l'informatique et des libertés
Fiche pratique Sous-traitance : Modèles de clauses de confidentialité, 02 mai 2011
67
« Protéger les données personnelles, accompagner l'innovation, préserver les libertés
individuelles »
[30] Touradj Ebrahimi, Franck Leprévost, Bertrand Warusfel : livre « Cryptographie et sécurité des
systèmes et réseaux » ©LAVOISIER, 2006 ISBN 2-7-462-1260-9 : 103-105
[31] chapitre 10 « La sécurité des réseaux » Reseaux-CH-10 Mercredi, 8. novembre 2006 9:49 09
68