SÉCURITÉ DES RÉSEAUX MOBILES MINI-PROJET Présenté par : ASSIMI Chaimaa Encadré par : M. EL ouazzani Année universitaire :
2 Plan du travail: Introduction conclusion Généralité sur l’internet des objets Simulation et configuration CoAP Etude du protocole Ido
3 Introduction
4 Généralité sur l’internet des objets Le développement d’internet et Les technologies du Communications et des matériels permet de créer des nouvelles concepts comme : l’internet des objets, (smartcities),Cloud- computing..
5 Généralité sur l’internet des objets Problématique Interopérabilité Energie Débit Portée
6 Généralité sur l’internet des objets Définition le monde réelréseau Internet
7 Généralité sur l’internet des objets Architecture d’IOT
8 Généralité sur l’internet des objets Domaine d’utilisation d’IOT
9 Généralité sur l’internet des objets RCSFs dans l’IOT
10 Etude du protocoles d’IOT La pile protocolaire
11 Etude du protocoles d’IOT 6LoWPAN
12 Etude du protocoles d’IOT RPL
13 Etude du protocoles d’IOT DTLS
14 Etude du protocoles d’IOT CoAP
15 Etude du protocoles d’IOT Les caractéristiques de CoAP Une en-tête concise Une en-tête concise Gestion des méthodes Les URIs :( Les URIs :(Uniform Resource Identifier coap) : //example.net/.well- known/core ?n=Light Le type de contenu La découverte de ressources
16 Etude du protocoles d’IOT Fonctionnement du CoAP
17 Etude du protocoles d’IOT Fonctionnement du CoAP CoAP fonctionne sur UDP et aussi DTLS ; pour sécuriser les échanges, et fonctionne de manière asynchrone. CoAP s’appuie sur une approche à deux couches, une couche de messagerie CoAP ; utilisée afin de traiter la non fiabilité d ’UDP ainsi que la nature asynchrone des interactions (4 messages sont définis CON, ACK, NON, RST) et une couche d’interaction sous forme de requête/réponse héritée du protocole HTTP (Requêtes :GET, POST, PUT, DELETE)
18 Simulation et configuration de CoAP Organigramme de CoAP
19 Simulation et configuration de CoAP Simulation de CoAP
20 Simulation et configuration de CoAP Simulation de CoAP Figure: choix de type de nœuds avant de faire la compilation de code
21 Simulation et configuration de CoAP Simulation de CoAP Figure: les positions des nœuds sur le plan géographique
22 Simulation et configuration de CoAP Simulation de CoAP
23 Simulation et configuration de CoAP Simulation de CoAP
24 Simulation et configuration de CoAP Simulation de CoAP
25 Simulation et configuration de CoAP Simulation de CoAP
26 Simulation et configuration de CoAP Simulation de CoAP
27 Simulation et configuration de CoAP Simulation de CoAP
28 Simulation et configuration de CoAP Simulation de CoAP
29 Simulation et configuration de CoAP Configuration de CoAP
30 Simulation et configuration de CoAP Configuration de serveur- CoAP Commande de chargement du capteur Serveur-CoAP 1. Connectez deux Skys Tmote (vérifier avec $ make TARGET = sky-motelist) 2. make TARGET = ciel er-exemple-server.upload MOTE = 2 3. make TARGET = ciel connexion MOTE = 2 4. Appuyez sur le bouton de remise à zéro, obtenir l'adresse, abort avec Ctrl + C: Ligne: "lien local provisoire adresse IPv6 fe80: 0000: 0000: 0000: ____: ____:
31 Simulation et configuration de CoAP Configuration de serveur- CoAP
32 Simulation et configuration de CoAP Configuration de client - CoAP Commande de chargement du capteur Client-CoAP 1.cd../ipv6/rpl-border-router/ 2. make TARGET =ciel border router.upload MOTE = 1 3. make connect-routeur Pour un tty BR autre que USB0: Faire connect-routeur port PORT = X
33 Simulation et configuration de CoAP Configuration de client - CoAP
34 Simulation et configuration de CoAP Code source -température /**************temperature*************/ PERIODIC_RESOURCE(temperature, METHOD_GET,"sensors/temperature","title=\"Hello temperature: ?len=0..\";rt=\"Text\"",60*CLOCK_SECOND); void temperature_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) { REST.set_header_content_type(response, REST.type.TEXT_PLAIN); const char *msg = "Observe Periodic Temperature!"; REST.set_response_payload(response, (uint8_t *)msg, strlen(msg)); } void temperature_periodic_handler(resource_t *r) { static uint16_t temperatureVal = 0; static char content[30]; temperatureVal=(uint16_t)rand()%120; coap_packet_t notification[1]; coap_init_message(notification, COAP_TYPE_CON, REST.status.OK, 0); coap_set_payload(notification, content, snprintf(content,sizeof(content), "Temperature: %u F ", temperatureVal)); REST.notify_subscribers(r, temperatureVal, notification); } /****fin temperature****/
35 Simulation et configuration de CoAP Code source -Humidity /********************humidity***********************************/ PERIODIC_RESOURCE(humidity, METHOD_GET,"sensors/humidity","title=\"Hello humidity: ?len=0..\";rt=\"Text\"",30*CLOCK_SECOND); void humidity_handler(void* request, void* response, uint8_t *buffer, uint16_t preferred_size, int32_t *offset) { REST.set_header_content_type(response, REST.type.TEXT_PLAIN); const char *msg = "Observe Periodic humidity!"; REST.set_response_payload(response, (uint8_t *)msg, strlen(msg)); } void humidity_periodic_handler(resource_t *r) { static uint16_t humidityVal = 0; static char content[30]; humidityVal=(uint16_t)rand()%120; coap_packet_tnotification[1]; coap_init_message(notification, COAP_TYPE_CON, REST.status.OK, 0); coap_set_payload(notification, content, snprintf(content,sizeof(content), "humidity: %u %", humidityVal)); REST.notify_subscribers(r, humidityVal, notification); } /****fin humidity****/
36 Conclusion
37