I o (E)T Internet Of (every)things Technologies et protocoles de communication J.Y. CADOREL 2014
En 2006 déjà...
Aujourd'hui, IOE : TOUT est connecté M2M Machine M2P & P2M Machine Person Animal CLOUD & BIG DATA P2P Person/ animal
Technologies émergentes : cycle de Hype 2013 Updated july 2014 On the Rise : Connected Home At the Peak : Autonomous Vehicles Internet of Things Wearable User Interfaces Consumer 3D Printing Sliding Into the Trough Big Data Machine-to-Machine Communication Services Mobile Health Monitoring Cloud Computing NFC Source : GARTNER 2013 4/39
Enjeu économique M2M : machine to machine M2P & P2M : machine to person... P2P : person to person Source : Prévisions du trafic de données Cisco (IBSG),2013 5/39
Quels objets? NXP IOE (Internet Of EveryThing) NXP 6/39
Quels objets? Exemple : ARCHOS SMART HOME WEATHER TAG Température Humidité MOTION BALL Détecteur de mouvement et de présence SMART PLUG commande ON/OFF + consommation électrique MOVEMENT TAG Détecteur d'ouverture MINI CAM 7/39
IoE TOUT est SMART (...ou pas!) SMART CITY ENVIRONMENTAL MANAGMENT WASTE MANAGMENT Connected BODY (not smart whith glasshole?) SMART Hospital SMART Factory SMART LIGHTING SMART HOME SMART BUILDING SMART METERING SMART TRANSPORT SMART (electrical) CAR SMART GRID SMART Point Of Sale 8/39
Chaîne de valeurs des services IoT Source : intel 9/39
Les points clés Les propriétés importantes pour les technologies de l'iot : Autonomie Sécurité Prix Interoperabilité 10/39
Technologies et Protocoles émergents ETSI M2M sensor 2G/3G/4G, SIGFOX, ONDEO, LORA... BROKER 6LOWPAN KNX sensor GATEWAY Node.js sensor IEEE802.15.4 ZigBee SE DECT ULE Enocean Zwave Lonworks BACnet Modbus Plugged Devices Bluetooth / ANT BLE Portable Wifi Devices NFC Local networking MQTT XMPP AMQP CoAP HTTP CLOUD & BIG DATA 3G global networking 11/39
Cloud : les acteurs du marché SaaS : software as a service IaaS : infrastructure as a service PaaS : platform as a service => marché non mature à consolider 12/39
Big Data : en deux mots => RDV 4 Décembre POLYTECH TOURS 13/39
Quelques acteurs du Big Data 14/39
Un «petit problème» à régler... Les réseaux de communications ne sont pas «IoT ready» : Les fournisseurs d'accès Internet proposent des liens asymétriques : le lien descendant (téléchargements) à un débit bien plus important que le lien montant. Les serveurs dans les datacenters ne sont pas configurés pour recevoir en temps réel des données de millions de capteurs : les technologies de streaming sont utilisées pour transférer des données du serveur vers de multiples clients...pas le contraire! => Nécessité de repenser les échanges de données et de «messages» => Utilisation d'un «broker» 15/39
Le broker Le broker est conçu pour supporter une charge «upload» très importante. Il redistribue l'information «publiée» par des capteurs» à tous les «abonnés» à cette donnée. Source : iotworld.com 16/39
Des messages IoT pour faire quoi? Pour résoudre les problèmes liés à la disparité des échanges M2M et M2P : Échanges locaux => «Inter Devices communications (ie : WSN on a LAN)» Avec le broker => temps réel Sur le Cloud => «Device to Cloud communication (device to datacenter)» => Ces différents niveaux n'ont pas les mêmes contraintes. 17/39
Des messages IoT pour faire quoi? Source : www.electronicdesign.com 18/39
Les Technologies d' «IoT Messaging» DDS : Data Distribution Service for Real-Time Systems AMQP : OASIS Advanced Message Queuing Protocol MQTT : MQ Telemetry Transport JMS : Java Message Service REST : Representational State Transfer CoAP : Constrained Application Protocol 19/39
IOT Messaging Deux types de technologies : Data Centric : On s intéresse aux données utilsateur et à ce quelles représentent. Les objets interagisssent avec un modèle des données mais pas entre eux (par exemple en iterrogeant une base) Cela permet une grande abstration (orientation objet) Une meilleure interoperabilité Mais il est difficile d'ajouter de nouveaux modèles ( «profile») car il faut passer par un processus de standardisation. Message Centric : On s'interesse au bon accheminement des messages independament de leurs signification Abstraction moins poussée ( «transport layer» pour les messages) Le contenu est définit par chaque utilisateur : peut explicite pour les autres destinataires... 20/39
DDS Issu du secteur de la défence Data centric ( profils standarduisés) Technologie de type «Publish and suscribe» Temps réel Facilement déployable à grande échelle Indépendant du langage et de Os Pas de broker, interconnexion «bus» 21/39
AMQP Issu du secteur financier! À pour objectifs des échanges rapides et fiables «Message centric» codé en binaire QoS pour l'acheminement du Message Suppose une couche TRANSPORT FIABLE (TCP) Authentication et chryptage (SASL/ TLS) Nécessite un broker JP Morgan l'utilise pour échanger un milliard de transactions par jour.. 22/39
XMPP (ex JABBER) Mis en avant par Cisco Utilisé par Google Talk, Google Plus, Approprié pour le M2P Développé initialement pour l' «instant messaging» (chat..) 23/39
JMS Message centric À pour objectif des echanges rapides et fiables Deux modes : Point à point et «Publish and subcribe» Suppose que TCP/IP est la couche transport QoS sur la fourniture du Message Pas interopérable 24/39
Representational state transfert REST Distributed software architecture style with same design principles and properties as HTTP. Assumes TCP/IP underlying transport layer Client/server style (request/reply) Uniform interfaces for exchanging a representation of a ressource between client and server. Representation = sequence of bytes + metadata (describe de structure) Representation centric, not object oriented Small set of verbs used for all cases : CRUD CREATE, READ, UPDATE, DELETE 25/39
REST : HTTP GET : for reading a repesentation of a ressource PUT : create or replace (update) ressource DELETE : delete a ressource 26/39
CoAP Poussé par Cisco Même modèle que HTTP mais avec des paquets plus petits Modèle Client serveur Architecture Restful Utilise UDP Decrit la struture des données par URI Supporte l' IP multicast 27/39
MQTT Mis en avant par IBM Utilisé par Facebook Messenger «Message centric» Style «Publish and subcribe» QoS sur la fourniture du Message Nécessite un Broker Suppose un couche transport fiable (TCP/IP) Très simple de mise en oeuvre Authentification/cryptage (SASL/ TLS) 28/39
MQTT PUB/SUB exemple 29/39
Page HTML5 PUB/SUB <head> <script src="vendor/mqttws31.js" type="text/javascript"></script>... broker = "broker.mqttdashboard.com" port = 8000//webSocket support is a must client_uniq = "" + parseint(math.random() * 100, 10) var client = new Messaging.Client(broker, port,client_uniq); client.onmessagearrived = function (message) { var uri = message.destinationname;//sender of the message var m = message.payloadstring;//content of the message switch(uri) {//which data type have changed? case "showroom/data/capt_temp" :. case "showroom/data/stat_miro"... <body> function addonclick() { var x = document.getelementbyid("monslider"); var message = new Messaging.Message(x.value); message.destinationname = 'showroom/commandes/capt_lumi'; message.qos = 2; client.send(message); } </script> </body> } function init() { // Connect to MQTT broker var options = {client.subscribe('/showroom/data/#', {qos: 2});//subscribe to every data} client.connect(options); } </script> </head> 30/39
IOT Couches Physiques LR sensor 2G/3G/4G, SIGFOX, ONDEO, LORA... BROKER sensor SR IEEE802.15.4 ZigBee SE DECT ULE Enocean Zwave GATEWAY Lonworks BACnet Modbus CLOUD & BIG DATA Plugged Devices VIP Bluetooth / ANT BLE Portable Wifi Devices 3G/4G NFC Local networking XDSL Fibre xg global networking 31/39
Les dangers de l'iot J;ATTALI «L'article 20 de la nouvelle loi de programmation militaire vient de donner à l administration tout pouvoir de traiter tout citoyen soupçonné d un délit quelconque comme un terroriste, c est-à-dire de pénétrer dans sa vie privée sans contrôle a priori d un juge». L'article 20 de la loi sera appliqué en 2015 «La tyrannie de la transparence, dont j'annonce le danger depuis longtemps, vient, pour la première fois, de trouver sa traduction dans une loi. Une loi française» Loi de programmation militaire: la Cnil déplore l'accès possible aux contenus La Commission déplore qu'en autorisant l'accès aux données de contenu, la loi risque d'entraîner une atteinte disproportionnée au respect de la vie privée. Frédéric Bergé 01net. le 20/12/13 à 12h5 32/39
Notions essentielles de sécurité Les principales notions de sécurité dans le cadre des IOT : Identification Authentification Intégrité Confidentialité La protection des données personnelles (PRIVACY)
Sécurité => Identification / authentification Identification : Qui êtes vous? Login : QUEEN MOTHER Authentification : Prouvez-le! Password : id IOT Tel : Bonjour François, Barack speaking (identification) réponse : Ha oui? Utilise le téléphone rouge! (demande d'authentification) ( mais je n'ai qu'un iphone 6 => fatal error! Vous êtes un imposteur : le tel rouge c'est un blackberry ) Dans l'internet des objets l'utilisateur doit s authentifier mais l'objet aussi
Sécurité => Autorisation L'autorisation est la preuve que vous avez le droit de faire quelque chose : Vous avez + 18 ans => vous pouvez aller en boite. (vous n'avez pas à vous identifier) un moyen prouvant votre age suffit. Vous avez acheté un ticket anonyme => vous pouvez prendre le tram, peu importe qui vous êtes.
Sécurité => intégrité De manière générale, l'intégrité des données désigne l'état de données qui, lors de leur traitement, de leur conservation ou de leur transmission, ne subissent aucune altération ou destruction volontaire ou accidentelle, et conservent un format permettant leur utilisation. (source : wikipedia) Les messages doivent être authentifiés La corruption des données doit être détectée 36/39
Sécurité => confidentialité La confidentialité est le fait de rendre secret des données qui ne seront lisibles que pour ceux qui ont à en connaître. => nécessité de crypter les communications et la représentation des données (pb stockage) 37/39
Sécurité => données personnelles La protection de la vie privée impose : De ne pas être pisté De ne pas être localisé D'assurer l'anonymat des transactions De pouvoir détruire certaines données personnelles De ne pas pouvoir déterminer des habitudes ou des comportements par fusion de données (consommation électricité, badgage dans les transports, passage en caisse, achats sur internet, etc..) => c'est un des dangers du «BIG (brother) DATA» 38/39
Sommes nous parano? Les experts en sécurité (!!!) sont unanimes : avec IOT c'est pire qu'avant! Source : HP 2014 39/39