T.E.R Analyse et preuve de causalité dans des systèmes distribués communicants

Dimension: px
Commencer à balayer dès la page:

Download "T.E.R Analyse et preuve de causalité dans des systèmes distribués communicants"

Transcription

1 T.E.R Analyse et preuve de causalité dans des systèmes distribués communicants Ducout Romain Encadrants : - Périn Michaël - Potet Marie-Laure 1

2 Sommaire 1 Introduction VERIMAG et l équipe DCS Lise: Liability Issues in Software Engineering Protocoles de sécurité Propriétés des protocoles L authentification Anonymat Le secret Les participants à la communication Le participant honnête : L intrus : Vérification logique de protocoles Hypothèses Formalisation logique Cadre retenu Causalité dans les systèmes distribués Relation de causalité La construction d un ordre total La construction d un ordre partiel Modèles d incohérences : Types d incohérences Les Sources d incohérence : Expérimentation Messages et logs Reconstitution de l ordre partiel Justifications des relations Calcul des justifications Représentation textuelle des relations Détections d incohérences Conclusion et Perspectives Bibliographie

3 1 Introduction 1.1 VERIMAG et l équipe DCS Fondé en 1993 comme Unité Mixte CNRS/Verilog et issu de l équipe Spectre du laboratoire LGI, Le laboratoire VERIMAG fait partie des leaders en matière de systèmes embarqués. Ces systèmes, composés de matériels et de logiciels, assurent des fonctionnalités critiques dans un appareil. Ils sont d une importance stratégique pour des secteurs économiques variés, tels que le transport (automobile, aérien, ferroviaire, spatial), les télécommunications ou les biens de consommation électriques et électroniques. Les travaux de Verimag visent à produire des outils théoriques et techniques pour permettre le développement de systèmes embarqués de qualité maîtrisée, avec des coûts compétitifs. Le laboratoire a notamment contribué durant les quinze dernières années au développement de l état de l art en langages synchrones, model-checking (vérification), tests et en modélisation des systèmes. Ces résultats ont de nombreuses applications industrielles, notamment dans des outils spécialisés dans le développement de logiciels et systèmes embarqués. Verimag joue également un rôle important dans l enseignement sur Grenoble, à l Université Joseph Fourrier, à l INP de Grenoble ainsi que dans la formation de doctorants. Le laboratoire est organisé en 3 équipes : L équipe Synchrone : Spécialisée dans les Langages Synchrones et les Systèmes Réactifs. L équipe Tempo : Spécialisé dans les systèmes Temporisés et Hybrides. L équipe DCS : Spécialisé dans les Systèmes Répartis et Complexes. Le travail présenté dans ce document a été réalisé au sein de l équipe DCS, Distributed and Complex Systems Group, et plus particulièrement dans le cadre du projet LISE (Liability Issues in Software Engineering). 1.2 Lise: Liability Issues in Software Engineering Lise est un projet pluridisciplinaire financé par l Agence Nationale de la Recherche et coordonné par l INRIA. Ce projet regroupe 6 équipes de recherche : - Ares de l Inria à Lyon - Dante de l université de Versailles - Licit de l Inria à Grenoble - Print de l université de Caen - SSir de Supelec à Rennes - Verimag de l université de Grenoble Le projet Lise se déroule dans le cadre du programme SeSur 2007 (Sécurité et sureté informatique) dont l objectif est de dynamiser la recherche en matière de sécurité et de sûreté des systèmes informatiques, comprenant les aspects scientifiques et juridiques. Contexte et objectif du projet LISE: 3

4 Vue la place croissante prise par les logiciels dans la société de l'information, ainsi que la taille des systèmes informatiques, il est devenu nécessaire de définir de manière plus précise les responsabilités de chacun. L ambition du projet Lise est d aborder cette question de la responsabilité sous le point de vue à la fois juridique et informatique. L objectif est donc de proposer des méthodes pour définir les responsabilités de manière précise et non ambigüe lors de la création de contrat. Le contrat engageant les entreprises impliquées sur des spécifications, les responsabilités en cas de dysfonctionnement ainsi que sur les preuves informatiques qui pourront être utilisées, c'est-à-dire les logs. Objectif de l étude : Le projet Lise a pour objectif de démontrer juridiquement la responsabilité d un logiciel. Le domaine d application est les systèmes distribués, ceux-ci étant faits de différents composants qui communiquent (exemples : serveurs, téléphones portables ). De plus en plus d opérations critiques sont effectuées par des téléphones portables, telles que la signature d un contrat ou une transaction bancaire. De telles opérations impliquent de nombreux composants qui enregistrent dans des logs les actions qu ils effectuent. Ces logs pourraient être utilisés afin de déterminer la responsabilité de chacun des composants ayant été impliqué dans une opération soldée par une erreur. L objectif du travail abordé ici est, dans le contexte d un système distribué, de s intéresser à l analyse de logs produit par les composants afin d y déceler des incohérences et d en déduire leur provenance. Ce travail s appuie sur une réalisation pratique, en langage OCaml, d un algorithme analysant un ensemble de logs de communicantes en vue de proposer une preuve de la responsabilité des composants capable d être reconnue lors d un jugement, cette preuve devant être irréfutable et compréhensible par des avocats qui ne sont pas experts en systèmes distribués. Cette preuve pourra définir des responsables lors d un dysfonctionnement, responsable interne ou externe en cas d attaque. Dans ce document, on présentera en un premier temps une introduction aux protocoles de sécurité dans lequel s inscrit le projet. Après une courte introduction à des notions importantes de la sécurité, nous traiterons de la vérification logique des protocoles de sécurité et notamment le modèle de l intrus de Dolev-Yao. Dans une seconde partie, nous verrons une présentation de la causalité dans les systèmes distribués et les différentes approches utilisées aujourd hui pour reconstituer cette causalité, notamment en utilisant des systèmes d horloges. Enfin, sera présenté dans une troisième partie l implémentation d une solution permettant de reconstituer les relations de causalité entre les évènements enregistrés par les logs. Nous terminerons par une conclusion portant sur les évolutions et perspectives futures. 4

5 (Lafourcade, 2006) 2 Protocoles de sécurité 2.1 Propriétés des protocoles Etant donné un protocole, le principe de la vérification de protocole consiste à vérifier que celui-ci possède certaines propriétés, nous allons ici présenter quelques propriétés parmi les plus courantes L authentification L authentification est la capacité pour le protocole à reconnaitre de façon certaine une entité, cella peut être une personne physique ou morale ou une entité informatique Anonymat L anonymat est la non identification d une entité, cette propriété peut être utile dans certains cas, comme dans les protocoles de vote ou pour la téléphonie mobile Le secret Généralement, le secret est défini de la manière suivante : un secret est une donnée qui n est pas visible par une entité non habilitée à la connaitre. Un protocole donné vérifie la propriété du secret pour une donnée d, s il est impossible pour une entité externe de découvrir le secret. 2.2 Les participants à la communication Une communication met en liaison différents participants qui peuvent êtres classés selon deux principales catégories : Le participant honnête : Un participant honnête est un agent qui respecte l ensemble des spécifications du protocole, que cela soit dans l ordre d envoi des messages ou dans leurs écritures. Les participants honnêtes ne communiquent pas avec l autre catégorie, les intrus L intrus : L intrus, ou attaquant, est un participant qui espionne le réseau ne suit pas le protocole de communication. Son objectif est de découvrir des informations secrètes, et pour cela, il peut jouer de nouvelles sessions de communication, communiquer avec les participants honnêtes tout en se faisant passer pour une autre personne. Il existe deux types d intrus différents : - Les intrus passifs : Un intrus passif ne participe pas aux communications et il ne joue pas de nouvelles sessions de communication. Il se contente donc d espionner le canal de communication et de lire les messages qui y transitent. Ayant une capacité de déduction, l intrus passif tente de déduire des informations secrètes des messages échangés sur le canal. 5

6 Exemple : Considérons l instance de protocole suivante où un secret s est chiffré par un chiffrement de Vernam (La notation «A B : x» signifie que A envoie le message x à B): 1. A B : s Ka 2. B A : s Ka Kb 3. A B : s Kb Dans cet exemple, un intrus ayant intercepté les 3 messages es capable d obtenir s en effectuant un ou exclusif entre les 3 messages. Il faut cependant que l intrus ait la capacité d effectuer ce raisonnement. - Les intrus actifs : L intrus actif peut non seulement écouter des messages passant sur le canal comme un intrus passif, mais il est également capable de communiquer avec les participants honnêtes, de se faire passer pour eux, d instancier une communication ou de construire des messages. Exemple : Voici un exemple d attaque célèbre avec un intrus actif, l attaque «man in the middle» : B et A sont 2 participants honnêtes avec respectivement leurs clés privées (Bs et As) et leurs clés publiques (Bp et Ap). Ils souhaitent s échanger une clé privée N b par le protocole de Needham-Schroeder (Schroeder & Schroeder, 1978). On note {x} K le message x crypté par la clé K. Dans le cas d une exécution normale A envoie à B un message chiffré avec sa clé : 1. A B : A, N a Bp A envoie à B un message crypté par la clé publique de B contenant son identité et un nombre aléatoire N a. 2. B A : N a, N b Ap B envoie à A un message constitué de N a et de N b, la clé à échanger. 3. A B : N b Bp Confirme qu il a bien reçu la clé. Insérons C, un intrus capable de lire les communications, mais aussi d insérer ou de modifier des messages sans en alarmer les participants honnêtes. C joue deux sessions du protocole, une avec A et l autre avec B. Voici le déroulement de l attaque : 1. A C : A, N a Cp 2. C B : A, N a Bp 3. B C : N a, N b Ap 4. C A : N a, N b Ap 5. A C : N b Bp 6. C B : N b Bp A l issue de cet échange, C connait la clé N b. Il sera capable de déchiffrer tous les messages échangés entre A et B. 6

7 On peut affirmer qu un protocole de sécurité préserve un secret s, si un intrus actif ne peut déduire s des messages échangés et de ses propres actions. Il faut cependant prendre en compte les capacités de l intrus. 2.3 Vérification logique de protocoles Afin d analyser et de vérifier des propriétés à des protocoles cryptographiques, Dolev et Yao (Dolev & Yao, 81) ont proposé un modèle de déduction pour modéliser l intrus. Dans ce modèle, le réseau et l intrus sont considérés comme la même entité Hypothèses - On suppose la cryptographie sûre, au sens où il est impossible de déchiffrer un message sans la clé et il est impossible de deviner la clé. - On prend comme hypothèse les capacités de l intrus. Il est capable de lire les messages, d en construire, d en intercepter, de chiffrer ou de déchiffrer si il est en possession de la clé Formalisation logique Soit I, la connaissance initiale de l intrus, I est donc initialisé par l identité des acteurs, les données publiques et les clés privées corrompues. La notation C u signifie que l intrus, à partir de ses connaissances courantes C, est capable de déduire u grâce à son système de déduction. Ci-dessous, les règles de déduction de l intrus : u C C u C < u, v > C u C < u, v > C v C u C v C < u, v > C u C v C {u} v C {u} v C v C u Capacité à reconnaitre un terme connu Capacité à décomposer un message Capacité à décomposer un message Capacité à composer un terme à partir de deux termes Capacité à chiffrer un message avec une clé connue Capacité à déchiffrer un message avec une clé connue Pour montrer qu un message s est secret, il faut démontrer que : I s Au cours du travail abordé dans ce document, nous utiliserons des logs afin d analyser a posteriori les dysfonctionnements ayant eu lieu dans un système multi-composants qui utilise un protocole de sécurité. Les logs étant locaux à leur composant, il faut au préalable établir la causalité globale entre les évènements enregistrés sur différents logs. 7

8 8

9 3 Cadre retenu Dans cette partie, nous présentons la relation de causalité entre des évènements. Nous nous intéressons au cadre des systèmes distribués communicants, où un composant du système peut envoyer un message à un autre. Après avoir défini la relation, nous verrons différentes techniques existantes qui permettent de reconstituer cette relation. Cependant, ces techniques liées aux horloges du système ne sont pas adaptés au cadre du projet LISE. Nous aborderons donc ensuite la méthode utilisée lors du travail abordé ici. 3.1 Causalité dans les systèmes distribués Relation de causalité La notation : e e signifie «L évènement e a eu lieu avant l évènement e» Si e et e ont lieu sur le même processus, on dit que e précède localement e. Cette relation définie une relation partielle entre les évènements. En effet, cela n est pas suffisant pour pouvoir déterminer pour tout évènement e et e qui a eu lieu avant l autre. Dans le cas d un système séquentiel qui ne communique pas, établir la causalité de chaque évènement entre eux est trivial, cependant dans le cas d un système distribué, connaitre l ordre d occurrence des évènements est plus difficile. On utilise également la relation de parallélisme suivante e e «L évènement e et e peuvent se dérouler dans n importe quel ordre, c'est-à-dire e e e e (e e) Plusieurs solutions existent pour obtenir cette relation entre les évènements d un système La construction d un ordre total. La première solution consiste a établir un ordre total où on est capable d affirmer pour tout couple d évènements e et e si e s est produit avant ou après e, c'est-à-dire soit la relation de causalité e->e ou la relation e ->e. Le moyen le plus simple de reconstituer cet ordre nécessite l existence d une horloge globale au système distribué, c'est-à-dire une horloge commune à tous les composants. Chaque composant enregistre dans son log la date de l évènement et comme la notion de temps est la même pour chaque composant, on est capable d en déduire l ordre trivialement. Cependant, dans un système distribué, les différents composants se trouvent généralement sur différents sites, et donc, l utilisation d une horloge commune à chaque composant n est pas envisageable. Une manière d arriver à cet objectif serait de synchroniser les horloges de chaque composant entre elles. Des travaux ont été effectués afin de pouvoir synchroniser les différentes horloges du système. Différents types d horloges ont été utilisés, parmi leurs applications, on retrouve l exclusion mutuelle, le débogage ou l optimisation. 9

10 Horloges de Lamport (Lamport, 1988) Pour un système utilisant une horloge de Lamport, chaque évènement est estampillé par une date. Une date peut être représentée par le couple suivant associé à chaque évènement: (s, nb) où s est le numéro du processus émetteur de l évènement et nb la valeur courante de l horloge au moment où l évènement c est produit. L horloge «respecte la relation de causalité», c'est-à-dire que : e e H e < H(e ) Avec H s, nb < H s, nb si nb < nb (nb = nb s < s ). On crée ensuite un temps logique pour ordonner tous les évènements : - Localement, chaque processus possède une horloge permettant de dater les évènements. - Pour chaque évènement ayant lieu sur le processus i, on incrémente la valeur de l horloge et on associe le couple (s, valeur d horloge) à l évènement. - Lors de la réception d un message, celui-ci étant estampillé par son processus associé avec l estampille (s, nb), on effectue alors : Valeur d horloge = max(valeur d horloge, nb)+1 puis on associe le couple (s, valeur d horloge) à l évènement. La relation de comparaison entre deux dates est totale, on obtient ainsi un ordonnancement global entre toute paire d évènement. Si on à une dépendance de causalité entre 2 évènements, l ordre construit conserve cette dépendance, sinon, les évènements sont indépendants, on peut donc choisir un ordre arbitraire. L horloge de Lamport respecte la relation de causalité mais pas sa réciproque, c'est-àdire que : H e < H(e ) e e Horloges de Mattern (Mattern, 88) A la différence de l horloge de Lamport, une horloge de Mattern, ou horloge vectorielle, conserve la réciproque de la relation de causalité. Elle permet également de savoir si deux évènements ont eu lieu en parallèle. Cependant elle ne fournit pas un ordre total entre les évènements. Pour mettre en place une horloge de Mattern, nous utilisons un vecteur V de taille égale au nombre de processus. Localement, tout processus i possède un vecteur Vi et date tous les évènements, c'est-à-dire toutes les émissions et réceptions, l élément Vi[j] du vecteur Vi associé au processus i contient la connaissance par le processus i de la valeur de l horloge locale du processus j. Pour faire fonctionner ce système d horloges, on commence par initialiser le vecteur de chaque processus par le vecteur nul. Ainsi processus i, Vi = (0,0,0,0). Pour tout évènement du processus i, on incrémente le compteur local d évènements, Vi[i] := V[i] + 1, et si l évènement est un envoi de message, alors, on envoie le vecteur Vi avec le message. Lors de la réception par un processus i d un message m avec un vecteur Vm, on actualise toute les cases du vecteur Vi de la manière suivante : j, j i, Vi j = max(vm j, Vi j ) 10

11 L horloge de Mattern permet ainsi de définir l ordre partiel suivant : - V V défini par i, V i V [i] - V< V défini par V V et i tq V i < V i - V V défini par (not V < V not V < V Pour deux évènements e et e avec pour date associée respectivement V(e) et V (e ), on peut déduire que : - V e < V e e e - V e V e e e Horloges matricielles Ici, chaque processus se voit affecté une matrice M de taille (n x n), où n est le nombre de processus communiquant. Elle est remplie de la manière suivante pour un processus i : - Sur la ligne i : Informations sur les évènements du processus i. M[i,i] est le nombre d évènements réalisés par i. M[i,j] avec i différent de j, est le nombre de messages envoyés par i à j. - Sur la ligne j (i différent de j) : M[j,k] est le nombre de messages que, a la connaissance de i, j à envoyé à k (k étant différent de j). M[j,j] est le nombre d événement effectués par j à la connaissance de i. Tout évènement est marqué par la valeur courante de la matrice après mise à jour. Cette horloge conserve les propriétés d une horloge vectorielle, car les horloges matricielles incluent les horloges vectorielles. Elles apportent de plus des informations sur la perception du temps logique par les autres processus. Ce mécanisme d horloges est cependant couteux, (O(n²)). Des optimisations existent, comme partitionner le système en sous-systèmes qui auraient peu d intercommunications afin de réduire n. Nous avons étudié dans un premier temps ces différents mécanismes d horloges afin de mieux comprendre ce qui se faisait en matière de causalité dans les systèmes distribués. N ayant pas la possibilité d utiliser un mécanisme d horloge particulier dans le projet LISE, nous avons choisi notre propre méthode pour reconstituer l ordre de causalité. Nous présentons dans la suite de ce chapitre cette méthode La construction d un ordre partiel Au lieu de s appuyer sur un système de datation des évènements, une autre solution pour définir la causalité des évènements entre eux est de chercher à reconstituer l ordre d apparition des évènements à partir des logs, avec une notion plus faible, celle de la causalité. Chaque composant possède sa propre horloge interne et enregistre les évènements dans l ordre d apparition, l idée est de construire un ordre partiel entre les évènements en utilisant des règles de déduction Systèmes distribués et logs Par la suite, on considère le cas d un système distribué, celui-ci étant constitué de plusieurs composants. Chaque composant est un élément capable de communiquer avec les autres et chacun inscrit dans un log l ensemble des communications effectuées, c'est-à-dire les messages reçus et les messages envoyés. Nous nous plaçons ici dans le cas de 11

12 communications asynchrones. Nous nous intéressons désormais uniquement aux évènements enregistrés dans les logs. Tous les évènements sont désormais soit un envoi de message soit une réception. Par la suite, nous noterons : -!m : l évènement «envoi du message m» -?m : l évènement «réception du message m» Le log d un composant C est donc un enregistrement séquentiel d évènements, ceux-ci étant enregistrés dans l ordre dans lesquels ils ont eu lieu. Un log pourra donc, par exemple, être de la forme suivante : C :?a?b!f?c!g!d?h!x!y Système de déduction Supposons les hypothèses suivantes : - Chaque log enregistre les communications effectuées dans leur ordre d apparition. - Les logs sont infalsifiables. - Tout évènement est unique et possède un identifiant. On utilise également les 4 règles de déductions suivantes : -! m?m Signifie que l envoie d un message précède toujours sa réception. -?m!m Incohérence Signifie que si l on déduit que l arrivée d un message a lieu avant son envoi, la communication étudiée est incohérente. - C : e.e e e Signifie que si l évènement e apparait avant l évènement e dans un log, alors l évènement e a eu lieu avant l évènement e (Hypothèse de formation des logs). - e1 e2, e2 e3 e1 e3 La relation de causalité étant transitive, pour tout évènement e ayant eu lieu avant un évènement e2 qui s est produit avant e3, on en déduit que e à eu lieu avant e3. A partir de ces règles de déduction et des logs de chacun des composants, on peut ensuite construire la relation de causalité globale entre les évènements. Les logs sont cohérents si la relation de causalité globale forme un ordre partiel, c'est-à-dire une relation réflexive, transitive et antisymétrique. Autrement dit, il ne doit pas exister de cycle de causalité. Exemple 1: Soit l ensemble de logs {C1, C2, C3} suivant : C1:!a!f?h?d?e... C2:?a?b!c!e?g!h... 12

13 C3:!b?c!d?f!g... On en déduit la relation de causalité globale : celle-ci peut être représentée sous la forme d un graphe où les sommets sont les évènements et les arrêtes les relations de causalités entre les évènements : On remarque que le graphe obtenu ne comporte pas de cycle, la relation de causalité globale est donc cohérente. Exemple 2: Soit l ensemble de logs {C1, C2} suivant : C1:?a!b!c... C2 :?c?b!a... 13

14 Cet exemple comporte un cycle de causalité, la relation n est donc pas cohérente. 3.2 Modèles d incohérences : Afin de pouvoir analyser la relation de causalité globale pour trouver des incohérences éventuelles, il faut d abord définir ces incohérences ainsi que leurs sources possibles Types d incohérences On peut supposer possible l apparition de différents types de comportements incohérents, il faut ensuite tenter d en identifier la cause. - Envoi d un message non reçu - Réception d un message non envoyé - Cycle de causalité (exemple 2 du ) Les Sources d incohérence : Les erreurs pouvant survenir au cours d un dialogue dans un système distribué peuvent provenir de différentes sources : - Le réseau : le canal de communication en lui-même n est généralement pas fiable, les risques encourus sont la perte de message, la duplication de messages ou un changement dans leurs ordres de délivrance par rapport à l ordre d envoi. - Les logs : la non-intégrité des logs peut être expliquée par une falsification de ceuxci. - La spécification du protocole : il est possible de vérifier si l instance d exécution d un dialogue d un protocole correspond bien à sa spécification. Une spécification pouvant, dans certains cas, être représenté sous la forme d un automate d états, la comparaison est possible. - Attaque du protocole : cas d un intrus actif, pour un intrus passif il n y aurait pas d incohérence, juste un intrus ayant découvert le secret. 14

15 4 Expérimentation L objectif de la partie pratique de ce travail d études et de recherche était de proposer une solution visant à reconstituer la relation de causalité globale entre les différents évènements enregistrés dans les logs ainsi que de vérifier leur cohérence. Il était aussi nécessaire de garder une trace des déductions effectuées afin de pouvoir expliquer comment est déduite une incohérence et quels composants et messages sont impliqués. 4.1 Messages et logs Dans l implémentation, les messages et les logs ont d abord été représentés de la manière la plus intuitive possible. Un message est un n-uplet ayant un type de message (message d envoi ou de réception) et un identifiant (on prend pour hypothèse que tout message est unique et identifiable, ici, on utilise une donnée unique pour identifier chaque message, ainsi, on peut faire le lien entre l évènement du message reçu et celui du message envoyé). Il est possible d ajouter de nouvelles données, comme une date d émission, une donnée du message ou le nom du composant émetteur, mais ces données ne sont pas utilisées pour la reconstitution de l ordre de causalité. Voici la représentation choisie en OCaml : type tmess = E R (*type d'un message, ici on a envoie ou réception*) type data = D of int (* contenu du message *) type sid = S of string (* identifiant du message *) type date = T of int (* date du message *) type host = C of int (* composant de l évènement *) (* definition d'un message*) type message = tmess * sid * date * data * host Le log d un composant est une séquence contenant tous les évènements d envoi et de réception des messages enregistrés. Un système distribué est représenté par un tableau de logs. Voici ci-dessous un exemple d une représentation en OCaml des logs ainsi que celle d un système distribué (exemple 1 de la section ). (*un log n'est à la base qu'un tableau de messages*) type log = message array (*déclaration du composant C1*) let c1: log = [ (E,S "a", T 1, D 0, C 1); (*message d envoie a au temps 1*) (E,S "f", T 2, D 0, C 1); (R,S "h", T 3, D 0, C 1); (R,S "d", T 4, D 0, C 1); (R,S "e", T 5, D 0, C 1) ];; (*déclaration du système*) let procs : scenario array = [ c1;c2;c3 ] 15

16 4.2 Reconstitution de l ordre partiel Afin de reconstituer l ordre partiel de causalité, 2 niveaux de déduction ont été définis : - Un premier niveau regroupant 2 types de relation de causalités (voir ) : o Les relations issues de la relation d ordre dans les logs : C : e.e e e o Les relations d envoi/réception :! m?m On représente chaque relations sous la forme d un graphe où chaque nœud est un message et une arête est une relation de causalité. Le graphe est représenté sous la forme d une liste de nœuds où à chaque nœud on associe la liste de ses succésseurs. type graphe = (message * message list) list - Une fois ce premier niveau construit, il faut en déduire toutes les relations de causalités issues de la règle de transitivité. Pour cela, nous stockons dans un vecteur toute relation de causalité. L idée est de parcourir le graphe construit au cours de la première étape et pour chaque arête relation r, vérifier si dans le vecteur des relations, si il existe une seconde relation r telle que : r=e e et r =e e Si c est le cas, alors on vient de déduire une nouvelle relation e e à ajouter dans le vecteur. 4.3 Justifications des relations Calcul des justifications Afin de connaître l ensemble des composants ayant provoqués ou participés à des échanges de messages entrainant un comportement incohérent, il est nécessaire de garder, et ce pour chaque relation déduite, une trace des déductions faites. Pour cela, a été introduite la notion de justification ainsi que celle de proposition. Une proposition est un couple de message (e,e ) tel que e e. Une justification est un n-uplet comportant les informations suivantes : - La proposition justifiée, c'est-à-dire un couple de messages. - Une chaine de caractère indiquant la règle (décrites en ) utilisée pour déduire la proposition associée. - Une liste de propositions utilisées pour en déduire la proposition. Une justification est donc une structure récursive à plusieurs niveaux de déduction. type justification = APPLY of (string*justification list*proposition*int*int) Ont été ajoutées deux valeurs entières qui mémorisent le niveau de la justification dans la hiérarchie ainsi qu une valeur unique permettant d identifier la justification. 16

17 4.3.2 Représentation textuelle des relations Nous avons ensuite proposé une représentation intuitive et textuelle des justifications. Les justifications étant hiérarchisées, nous avons adopté le modèle suivant : [Numéro de la déduction] -- «nom de la règle utilisée» «relation de causalité» [«liste des numéros des prémisses»]. [] -- première prémisse. [] -- seconde prémisse. On nomme les règles de la manière suivante : - «Trans» pour une règle de transitivité e1 e2, e2 e3 e1 e3 - «log» pour les relations déduites des logs. C : e.e e e - «e-r» pour la relation de causalité liant l évènement d envoi d un message et celui de sa réception.! m?m Exemple 1: Voici la représentation de la règle suivante : e 1 e 2 e 2 e 3 e 1 e 3 trans [n] -- trans e1 -> e3 [m,p]. [m] -- trans e1 -> e2 [..., ]. justification de «e1 -> e2». [p] -- trans e2 -> e3 [, ]. justification de «e2 -> e3» La représentation textuelle d un message est la suivante : («Type» : ( Sid : «Identifiant», Time : «date du message», Component : «lieu d occurrence de l évènement») Exemple 2 : Voici un exemple de justification d une relation (exemple 1 de la section ). Elle montre comment a été déduit le lien de causalité entre l envoi du message a et l envoi du message 2. [0] -- trans (Envoi : ( Sid: a, Time: 1, Component: 1) -> Envoi : ( Sid: e, Time: 4, Component: 2)) [1,4]. [1] -- trans (Envoi : ( Sid: a, Time: 1, Component: 1) -> Reception : ( Sid: b, Time: 2, Component: 2)) [2,3]. [2] -- e-r (Envoi : ( Sid: a, Time: 1, Component: 1) -> Reception : ( Sid: a, Time: 1, Component: 2)). [3] -- log (Reception : ( Sid: a, Time: 1, Component: 2) -> Reception : ( Sid: b, Time: 2, Component: 2)). [4] -- trans (Reception : ( Sid: b, Time: 2, Component: 2) -> Envoi : ( Sid: e, Time: 4, Component: 2)) [5,6]. [5] -- log (Reception : ( Sid: b, Time: 2, Component: 2) -> Envoi : ( Sid: c, Time: 3, Component: 2)). [6] -- log (Envoi : ( Sid: c, Time: 3, Component: 2) -> Envoi : ( Sid: e, Time: 4, Component: 2)) 17

18 4.4 Détections d incohérences Il reste ensuite à vérifier la cohérence de la relation de causalité globale en s assurant qu il n y a pas de cycles de causalité. Pour trouver un cycle, il suffit de cherche une relation incohérente de la forme!e?e ou e e. 18

19 5 Conclusion et Perspectives L objectif du projet était d analyser des logs de composants communicants afin de détecter d éventuelles incohérences. Ceci en vue de proposer une preuve de la responsabilité des composants. Cette preuve doit pouvoir être reconnue lors d un jugement, c'est-à-dire compréhensible et irréfutable. Nous avons, après une étude de l état de l art en matière de causalité, utilisé un système de déduction adapté au cadre du projet LISE afin de retrouver les relations de causalités entre les évènements d un système distribué. A partir de ce système, nous avons implémenté une solution logicielle en langage OCaml analysant des logs de composant. Cette analyse permet de reconstituer les relations de causalité et de détecter les incohérences. Une fois ce travail effectué, afin de pouvoir proposer une preuve de la responsabilité d un composant lors d un dysfonctionnement, il reste à expliquer les incohérences détectées et à déterminer les responsabilités. Pour cela, il nous a semblé difficile de pouvoir démontrer les responsabilités de manière précise et sans incertitude. Plusieurs pistes sont alors possibles. Il semble intéressant d ajouter de nouvelles données lors de l analyse de logs. Par exemple en prenant en compte les données qui transitent sur le réseau afin de permettre une traçabilité des données, cela impliquerait d étendre les informations enregistrées dans les logs en ajoutant la création des données. Ces pistes ont été imaginées mais n ont pas été implémentées par manque de temps. Je tiens à remercier Mme Potet Marie-Laure et Mr Périn Michaël qui m ont encadré tout au long de ce travail d études et de recherches. Durand un semestre entier, ils m ont aidés, conseillés et fait découvrir le monde de la recherche. 19

20 6 Bibliographie Dolev, D., & Yao, A. C.-C. (81). On the Security of Public Key Protocols (Extended Abstract) FOCS 1981: Lafourcade, P. (2006). Vérification des protocoles cryptographiques en présence de théories équationnelles. Thèse de doctorat, Laboratoire Spécification et Vérification, ENS Cachan, France, September pages. Lamport, L. (1988). Time, Clocks, and the Ordering of Events in a Distributed System. Commun. ACM 21(7): (1978). Mattern, F. (88). Virtual time and global states in distributed systems, International Conference on Parallel and Distributed Algorithms, North Holland, pp? , Schroeder, N., & Schroeder, N. (1978). Using encryption for authentication in large networks of computers. Communication of the ACM, 21(12) :

Protocoles cryptographiques

Protocoles cryptographiques MGR850 Hiver 2014 Protocoles cryptographiques Hakima Ould-Slimane Chargée de cours École de technologie supérieure (ÉTS) Département de génie électrique 1 Plan Motivation et Contexte Notations Protocoles

Plus en détail

Conception des systèmes répartis

Conception des systèmes répartis Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan

Plus en détail

Protocoles d authentification

Protocoles d authentification Sécurité des Réseaux, Master CSI 2 J.Bétréma, LaBRI, Université Bordeaux 1 Protocoles d authentification 1. Authentification simple 2. Authentification mutuelle 3. Clé de session 4. KDC Source 1. Authentification

Plus en détail

Systèmes et algorithmes répartis

Systèmes et algorithmes répartis Systèmes et algorithmes répartis Tolérance aux fautes Philippe Quéinnec Département Informatique et Mathématiques Appliquées ENSEEIHT 4 novembre 2014 Systèmes et algorithmes répartis V 1 / 45 plan 1 Sûreté

Plus en détail

L exclusion mutuelle distribuée

L exclusion mutuelle distribuée L exclusion mutuelle distribuée L algorithme de L Amport L algorithme est basé sur 2 concepts : L estampillage des messages La distribution d une file d attente sur l ensemble des sites du système distribué

Plus en détail

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France. La NP-complétude Johanne Cohen PRISM/CNRS, Versailles, France. Références 1. Algorithm Design, Jon Kleinberg, Eva Tardos, Addison-Wesley, 2006. 2. Computers and Intractability : A Guide to the Theory of

Plus en détail

Gestion des Clés. Pr Belkhir Abdelkader. 10/04/2013 Pr BELKHIR Abdelkader

Gestion des Clés. Pr Belkhir Abdelkader. 10/04/2013 Pr BELKHIR Abdelkader Gestion des Clés Pr Belkhir Abdelkader Gestion des clés cryptographiques 1. La génération des clés: attention aux clés faibles,... et veiller à utiliser des générateurs fiables 2. Le transfert de la clé:

Plus en détail

Nom de l application

Nom de l application Ministère de l Enseignement Supérieur et de la Recherche Scientifique Direction Générale des Etudes Technologiques Institut Supérieur des Etudes Technologiques de Gafsa Département Technologies de l Informatique

Plus en détail

Principe de symétrisation pour la construction d un test adaptatif

Principe de symétrisation pour la construction d un test adaptatif Principe de symétrisation pour la construction d un test adaptatif Cécile Durot 1 & Yves Rozenholc 2 1 UFR SEGMI, Université Paris Ouest Nanterre La Défense, France, cecile.durot@gmail.com 2 Université

Plus en détail

Signature électronique. Romain Kolb 31/10/2008

Signature électronique. Romain Kolb 31/10/2008 Romain Kolb 31/10/2008 Signature électronique Sommaire I. Introduction... 3 1. Motivations... 3 2. Définition... 3 3. La signature électronique en bref... 3 II. Fonctionnement... 4 1. Notions requises...

Plus en détail

Mieux comprendre les certificats SSL THAWTE EST L UN DES PRINCIPAUX FOURNISSEURS DE CERTIFICATS SSL DANS LE MONDE

Mieux comprendre les certificats SSL THAWTE EST L UN DES PRINCIPAUX FOURNISSEURS DE CERTIFICATS SSL DANS LE MONDE Mieux comprendre les certificats SSL THAWTE EST L UN DES PRINCIPAUX FOURNISSEURS DE CERTIFICATS SSL DANS LE MONDE sommaire MIEUX COMPRENDRE LES CERTIFICATS SSL...1 SSL et certificats SSL : définition...1

Plus en détail

Protocoles d`authentification. Refik Molva et Yves Roudier. Institut EURECOM, BP 193 Sophia Antipolis Cedex - France

Protocoles d`authentification. Refik Molva et Yves Roudier. Institut EURECOM, BP 193 Sophia Antipolis Cedex - France Protocoles d`authentification Refik Molva et Yves Roudier Institut EURECOM, BP 193 Sophia Antipolis Cedex - France {refik.molva@eurecom.fr, yves.roudier@eurecom.fr} Résumé : cet article décrit les techniques

Plus en détail

Sécurité des réseaux IPSec

Sécurité des réseaux IPSec Sécurité des réseaux IPSec A. Guermouche A. Guermouche Cours 4 : IPSec 1 Plan 1. A. Guermouche Cours 4 : IPSec 2 Plan 1. A. Guermouche Cours 4 : IPSec 3 Pourquoi? Premier constat sur l aspect critique

Plus en détail

Chapitre 5 : Flot maximal dans un graphe

Chapitre 5 : Flot maximal dans un graphe Graphes et RO TELECOM Nancy A Chapitre 5 : Flot maximal dans un graphe J.-F. Scheid 1 Plan du chapitre I. Définitions 1 Graphe Graphe valué 3 Représentation d un graphe (matrice d incidence, matrice d

Plus en détail

Introduction aux algorithmes répartis

Introduction aux algorithmes répartis Objectifs et plan Introduction aux algorithmes répartis Sacha Krakowiak Université Joseph Fourier Projet Sardes (INRIA et IMAG-LSR http://sardes.inrialpes.fr/people/krakowia! Introduction aux algorithmes

Plus en détail

ÉPREUVE COMMUNE DE TIPE 2008 - Partie D

ÉPREUVE COMMUNE DE TIPE 2008 - Partie D ÉPREUVE COMMUNE DE TIPE 2008 - Partie D TITRE : Les Fonctions de Hachage Temps de préparation :.. 2 h 15 minutes Temps de présentation devant le jury :.10 minutes Entretien avec le jury :..10 minutes GUIDE

Plus en détail

I.1. Chiffrement I.1.1 Chiffrement symétrique I.1.2 Chiffrement asymétrique I.2 La signature numérique I.2.1 Les fonctions de hachage I.2.

I.1. Chiffrement I.1.1 Chiffrement symétrique I.1.2 Chiffrement asymétrique I.2 La signature numérique I.2.1 Les fonctions de hachage I.2. DTIC@Alg 2012 16 et 17 mai 2012, CERIST, Alger, Algérie Aspects techniques et juridiques de la signature électronique et de la certification électronique Mohammed Ouamrane, Idir Rassoul Laboratoire de

Plus en détail

Ingénérie logicielle dirigée par les modèles

Ingénérie logicielle dirigée par les modèles Ingénérie logicielle dirigée par les modèles Destercq Lionel & Dubuc Xavier 17 décembre 2009 Table des matières 1 Introduction 1 2 Diagrammes de classes 1 2.1 Principal..............................................

Plus en détail

La sécurité dans les grilles

La sécurité dans les grilles La sécurité dans les grilles Yves Denneulin Laboratoire ID/IMAG Plan Introduction les dangers dont il faut se protéger Les propriétés à assurer Les bases de la sécurité Protocoles cryptographiques Utilisation

Plus en détail

Cryptographie et fonctions à sens unique

Cryptographie et fonctions à sens unique Cryptographie et fonctions à sens unique Pierre Rouchon Centre Automatique et Systèmes Mines ParisTech pierre.rouchon@mines-paristech.fr Octobre 2012 P.Rouchon (Mines ParisTech) Cryptographie et fonctions

Plus en détail

Les diagrammes de modélisation

Les diagrammes de modélisation L approche Orientée Objet et UML 1 Plan du cours Introduction au Génie Logiciel L approche Orientée Objet et Notation UML Les diagrammes de modélisation Relations entre les différents diagrammes De l analyse

Plus en détail

D31: Protocoles Cryptographiques

D31: Protocoles Cryptographiques D31: Protocoles Cryptographiques Certificats et échange de clés Nicolas Méloni Master 2: 1er semestre (2014/2015) Nicolas Méloni D31: Protocoles Cryptographiques 1/21 Introduction Protocole Diffie Hellman:

Plus en détail

TP3 : Manipulation et implantation de systèmes de fichiers 1

TP3 : Manipulation et implantation de systèmes de fichiers 1 École Normale Supérieure Systèmes et réseaux Année 2012-2013 TP3 : Manipulation et implantation de systèmes de fichiers 1 1 Répertoire de travail courant Le but de l exercice est d écrire une commande

Plus en détail

Petite introduction aux protocoles cryptographiques. Master d informatique M2

Petite introduction aux protocoles cryptographiques. Master d informatique M2 Petite introduction aux protocoles cryptographiques Master d informatique M2 Les protocoles cryptographiques p.1/48-1 Internet - confidentialité - anonymat - authentification (s agit-il bien de ma banque?)

Plus en détail

LE PROBLEME DU PLUS COURT CHEMIN

LE PROBLEME DU PLUS COURT CHEMIN LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs

Plus en détail

Les Protocoles de sécurité dans les réseaux WiFi. Ihsane MOUTAIB & Lamia ELOFIR FM05

Les Protocoles de sécurité dans les réseaux WiFi. Ihsane MOUTAIB & Lamia ELOFIR FM05 Les Protocoles de sécurité dans les réseaux WiFi Ihsane MOUTAIB & Lamia ELOFIR FM05 PLAN Introduction Notions de sécurité Types d attaques Les solutions standards Les solutions temporaires La solution

Plus en détail

Cryptographie. Master de cryptographie Architectures PKI. 23 mars 2015. Université Rennes 1

Cryptographie. Master de cryptographie Architectures PKI. 23 mars 2015. Université Rennes 1 Cryptographie Master de cryptographie Architectures PKI 23 mars 2015 Université Rennes 1 Master Crypto (2014-2015) Cryptographie 23 mars 2015 1 / 17 Cadre Principe de Kercho : "La sécurité d'un système

Plus en détail

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun> 94 Programmation en OCaml 5.4.8. Concaténation de deux listes Définissons maintenant la fonction concat qui met bout à bout deux listes. Ainsi, si l1 et l2 sont deux listes quelconques, concat l1 l2 constitue

Plus en détail

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé Baccalauréat S/L Métropole La Réunion 13 septembre 2013 Corrigé A. P. M.. P. XRCIC 1 Commun à tous les candidats Partie A 1. L arbre de probabilité correspondant aux données du problème est : 0,3 0,6 H

Plus en détail

Rapport de certification

Rapport de certification Rapport de certification Memory Arrays avec Memory Gateways Version 5.5.2 Préparé par : Le Centre de la sécurité des télécommunications à titre d organisme de certification dans le cadre du Schéma canadien

Plus en détail

Introduction à la sécurité Cours 8 Infrastructure de clés publiques. Catalin Dima

Introduction à la sécurité Cours 8 Infrastructure de clés publiques. Catalin Dima Introduction à la sécurité Cours 8 Infrastructure de clés publiques Catalin Dima 1 Gestion des clés La gestion des clés concerne : La distribution de clés cryptographiques, Les mécanismes utilisés pour

Plus en détail

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références 2 http://securit.free.fr Introduction aux concepts de PKI Page 1/20

Plus en détail

VIII- Circuits séquentiels. Mémoires

VIII- Circuits séquentiels. Mémoires 1 VIII- Circuits séquentiels. Mémoires Maintenant le temps va intervenir. Nous avions déjà indiqué que la traversée d une porte ne se faisait pas instantanément et qu il fallait en tenir compte, notamment

Plus en détail

Charte d installation des réseaux sans-fils à l INSA de Lyon

Charte d installation des réseaux sans-fils à l INSA de Lyon Charte d installation des réseaux sans-fils à l INSA de Lyon Toute installation d un point d accès est soumise à autorisation auprès du Responsable Sécurité des Systèmes d Information (RSSI) de l INSA

Plus en détail

Systèmes d information et bases de données (niveau 1)

Systèmes d information et bases de données (niveau 1) Systèmes d information et bases de données (niveau 1) Cours N 1 Violaine Prince Plan du cours 1. Bibliographie 2. Introduction aux bases de données 3. Les modèles 1. Hiérarchique 2. Réseau 3. Relationnel

Plus en détail

Agrégation de liens xdsl sur un réseau radio

Agrégation de liens xdsl sur un réseau radio Agrégation de liens xdsl sur un réseau radio Soutenance TX Suiveur: Stéphane Crozat Commanditaire: tetaneutral.net/laurent Guerby 1 02/02/212 Introduction 2 Introduction: schéma 3 Définition d un tunnel

Plus en détail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

REALISATION d'un. ORDONNANCEUR à ECHEANCES

REALISATION d'un. ORDONNANCEUR à ECHEANCES REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6

Plus en détail

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language Unified Modeling Language UML Salima Hassas Version Cycle de vie du logiciel Client Besoins Déploiement Analyse Test Conception Cours sur la base des transparents de : Gioavanna Di Marzo Serugendo et Frédéric

Plus en détail

Modélisation multi-agents - Agents réactifs

Modélisation multi-agents - Agents réactifs Modélisation multi-agents - Agents réactifs Syma cursus CSI / SCIA Julien Saunier - julien.saunier@ifsttar.fr Sources www-lih.univlehavre.fr/~olivier/enseignement/masterrecherche/cours/ support/algofourmis.pdf

Plus en détail

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services 69 Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services M. Bakhouya, J. Gaber et A. Koukam Laboratoire Systèmes et Transports SeT Université de Technologie de Belfort-Montbéliard

Plus en détail

UML et les Bases de Données

UML et les Bases de Données CNAM UML et les Bases de Données UML et les Bases de Données. Diagramme de classes / diagramme d objets (UML)...2.. Premier niveau de modélisation des données d une application...2.2. Les éléments de modélisation...2.2..

Plus en détail

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm) Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 - Evénements et architectures - Spécifications de performances

Plus en détail

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies INF 232: Langages et Automates Travaux Dirigés Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies Année Académique 2013-2014 Année Académique 2013-2014 UNIVERSITÉ JOSEPH

Plus en détail

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Baccalauréat ES/L Amérique du Sud 21 novembre 2013 Baccalauréat ES/L Amérique du Sud 21 novembre 2013 A. P. M. E. P. EXERCICE 1 Commun à tous les candidats 5 points Une entreprise informatique produit et vend des clés USB. La vente de ces clés est réalisée

Plus en détail

Table des matières. Avant-propos. Chapitre 2 L actualisation... 21. Chapitre 1 L intérêt... 1. Chapitre 3 Les annuités... 33 III. Entraînement...

Table des matières. Avant-propos. Chapitre 2 L actualisation... 21. Chapitre 1 L intérêt... 1. Chapitre 3 Les annuités... 33 III. Entraînement... III Table des matières Avant-propos Remerciements................................. Les auteurs..................................... Chapitre 1 L intérêt............................. 1 1. Mise en situation...........................

Plus en détail

CONVENTION INDIVIDUELLE D HABILITATION. «Expert en automobile indépendant» (convention complète)

CONVENTION INDIVIDUELLE D HABILITATION. «Expert en automobile indépendant» (convention complète) CONVENTION INDIVIDUELLE D HABILITATION «Expert en automobile indépendant» (convention complète) Les parties à la convention - Le Ministre de l intérieur représenté par M. Jean-Benoît ALBERTINI, Préfet

Plus en détail

Livre blanc sur l authentification forte

Livre blanc sur l authentification forte s 2010 Livre blanc sur l authentification forte Fonctionnement de l authentification «One Time Password» et son implémentation avec les solutions actuelles du marché Dans le contexte actuel où le vol d

Plus en détail

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2. Eo7 Calculs de déterminants Fiche corrigée par Arnaud Bodin Eercice Calculer les déterminants des matrices suivantes : Correction Vidéo ( ) 0 6 7 3 4 5 8 4 5 6 0 3 4 5 5 6 7 0 3 5 4 3 0 3 0 0 3 0 0 0 3

Plus en détail

Projet Active Object

Projet Active Object Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques

Plus en détail

Résolution d équations non linéaires

Résolution d équations non linéaires Analyse Numérique Résolution d équations non linéaires Said EL HAJJI et Touria GHEMIRES Université Mohammed V - Agdal. Faculté des Sciences Département de Mathématiques. Laboratoire de Mathématiques, Informatique

Plus en détail

Exercices Corrigés Premières notions sur les espaces vectoriels

Exercices Corrigés Premières notions sur les espaces vectoriels Exercices Corrigés Premières notions sur les espaces vectoriels Exercice 1 On considére le sous-espace vectoriel F de R formé des solutions du système suivant : x1 x 2 x 3 + 2x = 0 E 1 x 1 + 2x 2 + x 3

Plus en détail

Correction de l examen de la première session

Correction de l examen de la première session de l examen de la première session Julian Tugaut, Franck Licini, Didier Vincent Si vous trouvez des erreurs de Français ou de mathématiques ou bien si vous avez des questions et/ou des suggestions, envoyez-moi

Plus en détail

0DWKpPDWLTXHVGHO DUJHQW. édité par Mr. G.Moumoulidis (OTE)

0DWKpPDWLTXHVGHO DUJHQW. édité par Mr. G.Moumoulidis (OTE) 3/$,78'RF) 0DWKpPDWTXHVGHO DUJHQW HW OHVpWXGHVWHFKQTXHVpFRQRPTXHV édité par Mr. G.Moumoulidis (OTE) 8,2,7(5$7,2$/('(67(/(&2008,&$7,26,7(5$7,2$/7(/(&2008,&$7,28,2 8,2,7(5$&,2$/'(7(/(&208,&$&,2(6 - - 0DWKpPDWTXHVGHO

Plus en détail

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI

Cryptologie. Algorithmes à clé publique. Jean-Marc Robert. Génie logiciel et des TI Cryptologie Algorithmes à clé publique Jean-Marc Robert Génie logiciel et des TI Plan de la présentation Introduction Cryptographie à clé publique Les principes essentiels La signature électronique Infrastructures

Plus en détail

Algorithmique répartie

Algorithmique répartie Université Joseph Fourier 23/04/2014 Outline 1 2 Types de communication message envoyé à un groupe de processus Broadcast (diffusion) message envoyé à tous les processus du systèmes Unicast message envoyé

Plus en détail

Problèmes de Mathématiques Filtres et ultrafiltres

Problèmes de Mathématiques Filtres et ultrafiltres Énoncé Soit E un ensemble non vide. On dit qu un sous-ensemble F de P(E) est un filtre sur E si (P 0 ) F. (P 1 ) (X, Y ) F 2, X Y F. (P 2 ) X F, Y P(E) : X Y Y F. (P 3 ) / F. Première Partie 1. Que dire

Plus en détail

APPORT DES RESEAUX BAYESIENS DANS LA PREVENTION DE LA DELINQUANCE

APPORT DES RESEAUX BAYESIENS DANS LA PREVENTION DE LA DELINQUANCE SûretéGlobale.Org La Guitonnière 49770 La Meignanne Téléphone : +33 241 777 886 Télécopie : +33 241 200 987 Portable : +33 6 83 01 01 80 Adresse de messagerie : c.courtois@sureteglobale.org APPORT DES

Plus en détail

Résolution de systèmes linéaires par des méthodes directes

Résolution de systèmes linéaires par des méthodes directes Résolution de systèmes linéaires par des méthodes directes J. Erhel Janvier 2014 1 Inverse d une matrice carrée et systèmes linéaires Ce paragraphe a pour objet les matrices carrées et les systèmes linéaires.

Plus en détail

Données Réparties. Thibault BERNARD. thibault.bernard@univ-reims.fr

Données Réparties. Thibault BERNARD. thibault.bernard@univ-reims.fr Données Réparties Thibault BERNARD thibault.bernard@univ-reims.fr Sommaire Introduction Gestion de la concurrence Reprise après panne Gestion des données dupliquées Sommaire Introduction Gestion de la

Plus en détail

Les réseaux ad hoc : problèmes de sécurité et solutions potentielles

Les réseaux ad hoc : problèmes de sécurité et solutions potentielles Les réseaux ad hoc : problèmes de sécurité et solutions potentielles Jérôme LEBEGUE, Christophe BIDAN et Bernard JOUGA Supélec Rennes - Equipe SSIR 13 octobre 2005 Jérôme LEBEGUE - jerome.lebegue@supelec.fr

Plus en détail

Sécurité des réseaux sans fil

Sécurité des réseaux sans fil Sécurité des réseaux sans fil Francois.Morris@lmcp.jussieu.fr 13/10/04 Sécurité des réseaux sans fil 1 La sécurité selon les acteurs Responsable réseau, fournisseur d accès Identification, authentification

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

Plus en détail

Intégration de la dimension sémantique dans les réseaux sociaux

Intégration de la dimension sémantique dans les réseaux sociaux Intégration de la dimension sémantique dans les réseaux sociaux Application : systèmes de recommandation Maria Malek LARIS-EISTI maria.malek@eisti.fr 1 Contexte : Recommandation dans les réseaux sociaux

Plus en détail

Sécurité des Systèmes d Information Une politique simple pour parler à la Direction Générale De la théorie à la pratique

Sécurité des Systèmes d Information Une politique simple pour parler à la Direction Générale De la théorie à la pratique Sécurité des Systèmes d Information Une politique simple pour parler à la Direction Générale De la théorie à la pratique Sommaire Fondements d une politique de sécurité Les 9 axes parallèles d une politique

Plus en détail

Sécurisation du réseau

Sécurisation du réseau Sécurisation du réseau La sécurisation du réseau d entreprise est également une étape primordiale à la sécurisation générale de votre infrastructure. Cette partie a pour but de présenter les fonctionnalités

Plus en détail

La sécurité dans un réseau Wi-Fi

La sécurité dans un réseau Wi-Fi La sécurité dans un réseau Wi-Fi Par Valérian CASTEL. Sommaire - Introduction : Le Wi-Fi, c est quoi? - Réseau ad hoc, réseau infrastructure, quelles différences? - Cryptage WEP - Cryptage WPA, WPA2 -

Plus en détail

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration

Julien MATHEVET Alexandre BOISSY GSID 4. Rapport RE09. Load Balancing et migration Julien MATHEVET Alexandre BOISSY GSID 4 Rapport Load Balancing et migration Printemps 2001 SOMMAIRE INTRODUCTION... 3 SYNTHESE CONCERNANT LE LOAD BALANCING ET LA MIGRATION... 4 POURQUOI FAIRE DU LOAD BALANCING?...

Plus en détail

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Jade. Projet Intelligence Artificielle «Devine à quoi je pense» Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges

Plus en détail

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION Classe de terminale de la série Sciences et Technologie du Management et de la Gestion Préambule Présentation Les technologies de l information

Plus en détail

La prise de conscience de la Cyber Sécurité est en hausse

La prise de conscience de la Cyber Sécurité est en hausse 1 2 La prise de conscience de la Cyber Sécurité est en hausse Les sociétés et les individus sont de plus en plus connectés Cloud Computing Mobile Computing Utilisation génerale des Médias/Réseaux Sociaux

Plus en détail

Eteindre. les. lumières MATH EN JEAN 2013-2014. Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

Eteindre. les. lumières MATH EN JEAN 2013-2014. Mme BACHOC. Elèves de seconde, première et terminale scientifiques : MTH EN JEN 2013-2014 Elèves de seconde, première et terminale scientifiques : Lycée Michel Montaigne : HERITEL ôme T S POLLOZE Hélène 1 S SOK Sophie 1 S Eteindre Lycée Sud Médoc : ROSIO Gauthier 2 nd PELGE

Plus en détail

Université de Bangui. Modélisons en UML

Université de Bangui. Modélisons en UML Université de Bangui CRM Modélisons en UML Ce cours a été possible grâce à l initiative d Apollinaire MOLAYE qui m a contacté pour vous faire bénéficier de mes connaissances en nouvelles technologies et

Plus en détail

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Modèles à Événements Discrets. Réseaux de Petri Stochastiques Modèles à Événements Discrets Réseaux de Petri Stochastiques Table des matières 1 Chaînes de Markov Définition formelle Idée générale Discrete Time Markov Chains Continuous Time Markov Chains Propriétés

Plus en détail

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

DNSSEC. Introduction. les extensions de sécurité du DNS. Les dossiers thématiques de l AFNIC. 1 - Organisation et fonctionnement du DNS

DNSSEC. Introduction. les extensions de sécurité du DNS. Les dossiers thématiques de l AFNIC. 1 - Organisation et fonctionnement du DNS Les dossiers thématiques de l AFNIC DNSSEC les extensions de sécurité du DNS 1 - Organisation et fonctionnement du DNS 2 - Les attaques par empoisonnement de cache 3 - Qu est-ce que DNSSEC? 4 - Ce que

Plus en détail

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN 1. DÉVELOPPEMENT D'APPLICATION (CONCEPTEUR ANALYSTE) 1.1 ARCHITECTURE MATÉRIELLE DU SYSTÈME INFORMATIQUE 1.1.1 Architecture d'un ordinateur Processeur,

Plus en détail

Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN http://www.oklabs.net

Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN http://www.oklabs.net Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN http://www.oklabs.net : Champ Encodé SKWRITTEN() : Champ Variable défini Précédemment & définissant l état des champs à suivre ECT

Plus en détail

TP1 Méthodes de Monte Carlo et techniques de réduction de variance, application au pricing d options

TP1 Méthodes de Monte Carlo et techniques de réduction de variance, application au pricing d options Université de Lorraine Modélisation Stochastique Master 2 IMOI 2014-2015 TP1 Méthodes de Monte Carlo et techniques de réduction de variance, application au pricing d options 1 Les options Le but de ce

Plus en détail

Cours CCNA 1. Exercices

Cours CCNA 1. Exercices Cours CCNA 1 TD3 Exercices Exercice 1 Enumérez les sept étapes du processus consistant à convertir les communications de l utilisateur en données. 1. L utilisateur entre les données via une interface matérielle.

Plus en détail

Chapitre 3 - VODEL, un langage de description d architectures logicielles statiques et dynamiques

Chapitre 3 - VODEL, un langage de description d architectures logicielles statiques et dynamiques Chapitre 3 - VODEL, un langage de description d architectures logicielles statiques et dynamiques «Examine soigneusement chaque voie. Essaye aussi souvent que tu le crois nécessaire. Puis pose toi la seule

Plus en détail

MIS 102 Initiation à l Informatique

MIS 102 Initiation à l Informatique MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ

Plus en détail

Authentification. Règles et recommandations concernant les mécanismes d authentification de niveau de robustesse standard

Authentification. Règles et recommandations concernant les mécanismes d authentification de niveau de robustesse standard PREMIER MINISTRE Secrétariat général de la défense nationale Direction centrale de la sécurité des systèmes d information Paris, le 12 avril 2007 N 729/SGDN/DCSSI/SDS/AsTeC Authentification Règles et recommandations

Plus en détail

Un concept multi-centre de données traditionnel basé sur le DNS

Un concept multi-centre de données traditionnel basé sur le DNS Confiez vos activités critiques à un expert S il est crucial pour vos activités commerciales que vos serveurs soient disponibles en continu, vous devez demander à votre hébergeur de vous fournir une solution

Plus en détail

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34 Capacité d un canal Second Théorème de Shannon Théorie de l information 1/34 Plan du cours 1. Canaux discrets sans mémoire, exemples ; 2. Capacité ; 3. Canaux symétriques ; 4. Codage de canal ; 5. Second

Plus en détail

Fibonacci et les paquerettes

Fibonacci et les paquerettes Fibonacci et les paquerettes JOLY Romain & RIVOAL Tanguy Introduction Quand on entend dire que l on peut trouver le nombre d or et la suite de Fibonacci dans les fleurs et les pommes de pin, on est au

Plus en détail

Table des matières. Introduction

Table des matières. Introduction Table des matières 1 Formalisation des virus informatiques 2 1.1 Les machines de Turing........................ 2 1.2 Formalisation de Fred Cohen..................... 2 1.2.1 Définition d un virus informatique..............

Plus en détail

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications Université Paris-Dauphine DUMI2E 1ère année, 2009-2010 Applications 1 Introduction Une fonction f (plus précisément, une fonction réelle d une variable réelle) est une règle qui associe à tout réel x au

Plus en détail

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION DES NOMBRES par Jean-Luc BREGEON professeur formateur à l IUFM d Auvergne LE PROBLÈME DE LA REPRÉSENTATION DES NOMBRES On ne conçoit pas un premier enseignement

Plus en détail

Big Data et Graphes : Quelques pistes de recherche

Big Data et Graphes : Quelques pistes de recherche Big Data et Graphes : Quelques pistes de recherche Hamamache Kheddouci Laboratoire d'informatique en Image et Systèmes d'information LIRIS UMR 5205 CNRS/INSA de Lyon/Université Claude Bernard Lyon 1/Université

Plus en détail

Correction du baccalauréat ES/L Métropole 20 juin 2014

Correction du baccalauréat ES/L Métropole 20 juin 2014 Correction du baccalauréat ES/L Métropole 0 juin 014 Exercice 1 1. c.. c. 3. c. 4. d. 5. a. P A (B)=1 P A (B)=1 0,3=0,7 D après la formule des probabilités totales : P(B)=P(A B)+P(A B)=0,6 0,3+(1 0,6)

Plus en détail

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique

FICHE UE Licence/Master Sciences, Technologies, Santé Mention Informatique NOM DE L'UE : Algorithmique et programmation C++ LICENCE INFORMATIQUE Non Alt Alt S1 S2 S3 S4 S5 S6 Parcours : IL (Ingénierie Logicielle) SRI (Systèmes et Réseaux Informatiques) MASTER INFORMATIQUE Non

Plus en détail

CEG4566/CSI4541 Conception de systèmes temps réel

CEG4566/CSI4541 Conception de systèmes temps réel CEG4566/CSI4541 Conception de systèmes temps réel Chapitre 6 Vivacité, sécurité (Safety), fiabilité et tolérance aux fautes dans les systèmes en temps réel 6.1 Introduction générale aux notions de sécurité

Plus en détail

INTRUSION SUR INTERNET

INTRUSION SUR INTERNET INTRUSION SUR INTERNET Filière Télécommunication Laboratoire de Transmission de Données Diplômant : Marfil Miguel Professeur : Gérald Litzistorf En collaboration : Banque Pictet, Lanrent Dutheil e-xpert

Plus en détail

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1 Chap 4: Analyse syntaxique 1 III- L'analyse syntaxique: 1- Le rôle d'un analyseur syntaxique 2- Grammaires non contextuelles 3- Ecriture d'une grammaire 4- Les méthodes d'analyse 5- L'analyse LL(1) 6-

Plus en détail

Chap. I : Introduction à la sécurité informatique

Chap. I : Introduction à la sécurité informatique UMR 7030 - Université Paris 13 - Institut Galilée Cours Sécrypt Les exigences de la sécurité de l information au sein des organisations ont conduit à deux changements majeurs au cours des dernières décennies.

Plus en détail

CRYPTOGRAPHIE. Signature électronique. E. Bresson. Emmanuel.Bresson@sgdn.gouv.fr. SGDN/DCSSI Laboratoire de cryptographie

CRYPTOGRAPHIE. Signature électronique. E. Bresson. Emmanuel.Bresson@sgdn.gouv.fr. SGDN/DCSSI Laboratoire de cryptographie CRYPTOGRAPHIE Signature électronique E. Bresson SGDN/DCSSI Laboratoire de cryptographie Emmanuel.Bresson@sgdn.gouv.fr I. SIGNATURE ÉLECTRONIQUE I.1. GÉNÉRALITÉS Organisation de la section «GÉNÉRALITÉS»

Plus en détail