IPV6, FOAF, SSL et Internet des objets

internet mapIl y a presque deux ans, j’avais évoqué un peu par dessus la jambe l’usage de FOAF (Friend of a Friend), couplé à SSL. Le sujet était un peu crétin puisqu’il se cantonnait à une solution nerdy pour contourner HADOPI et se créer un réseau de confiance à des fins de partage. Aujourd’hui, avec la pénurie d’IPV4 et l’arrivée d’IPV6, ce sont également nos objets de tous les jours qui seront peu à peu connectés à Internet. On appelle ça l’Internet des objets. Nous allons donc tenter un exercice de vulgarisation d’une architecture technologique appliquée aux usages d’Internet, tels qu’ils devraient toujours l’être : décentralisés, permettant la confiance et donnant tous les pouvoirs à l’utilisateur, pour partager des données et des équipements… et pourquoi pas des applications. Ces technologies existent, elles combinent réseau, web sémantique et chiffrement afin de faire communiquer des humains, des objets et des applications.

Avec une IP publique, accessible depuis Internet, ce qu’on nomme timidement l’Internet des objets posera de nouvelles problématiques en matière de sécurité, mais ce n’est pas le propos pour cet article. Inversement, nous aurons le loisir de partager l’intelligence des objets de notre quotidien grâce au réseau. Et c’est bien là le plus intéressant. Prenons pour débuter un premier cas relativement simple :

  • Jean dispose d’un ordinateur et d’un disque dur multimedia contenant sa collection de films, il partage son disque dur avec l’ordinateur de François et la télévision de Gérard tandis que son ordinateur communique avec celui de Pierre.
  • Gérard n’a pas d’ordinateur, mais il dispose d’une télévision connectée qui va chercher ses programmes du soir dans le disque dur multimédia de Jean, dans l’ordinateur de Pierre et dans l’ordinateur de sa grand-mère pour visionner les photos et les vidéos familiales.
  • La grand-mère de Gérard dispose d’un ordinateur qui partage ses recettes de cuisines avec le réfrigérateur de Gérard. Elle dispose également d’un Nabaztag qui va chercher sa musique dans l’iPad de François, qu’elle ne connait pas directement mais qui est un amis de son petit-fils.
  • Pierre qui aime beaucoup les recettes de cuisine de la grand mère de Gérard dispose d’un four capable d’aller chercher les temps de cuisson des recettes de la Grand mère de Gérard sur le réfrigérateur de ce dernier.

En terme de flux, ça nous donne sensiblement quelque chose qui ressemble à ceci :

flux foaf ssl ipv6

Essayons maintenant de comprendre la mécanique de ce schéma et le rôle de nos briques techniques.

  • FOAF se base sur le vocabulaire RDF et permet la diffusion ciblée de flux
  • SSL est utilisé pour l’authentification et le transport de données et permet donc une diffusion des flux à des tiers à qui on souhaite les diffuser parce qu’on les trouve dignes de confiance
  • IPV6 permet de rendre tous les équipements domestiques « communicants » sur le réseau

SI vous me suivez jusque là, rassurez vous, vous avez compris le gros de la mécanique.

Nous avons donc ici un cas d’utilisation assez simple que l’on pourrait s’amuser à complexifier un peu en y ajoutant des applications web.

  • Imaginons par exemple que la grand mère de Gérard soit tellement bonne cuisinière, qu’elle crée un groupe Facebook avec lequel elle partage le flux de données de ses recettes. Elle déclare donc à l’API de Facebook que ses recettes doivent être partagées sur son groupe Facebook.
  • Un jour, Jean découvre le groupe Facebook de la grand-mère de Gérard, devient fan et syndique donc toutes les recettes sur son ordinateur.
  • Comme la grand mère de Gérard est fan de tango et de musette, elle décide de partager uniquement ces deux styles de musique depuis son Nabaztag. Mais la voici heurtée à un cruel dilemme. La communauté tango de LastFM est géniale, mais particulièrement nulle niveau musette. Elle demande donc à son Nabaztag de ne partager que le tango avec LastFM et le musette qu’avec la communauté de Radio Bleue dont la communauté, dans ce genre style musical, est bien plus dynamique que sur LastFM.

On obtient donc quelque chose qui ressemble à ça :

foaf ssl flux 2
Récapitulons, nous avons donc :

  • Des machines qui communiquent avec d’autres machines de manière automatisée, par le biais de flux RDF ;
  • Des machines qui communiquent avec des API de sites web ;
  • Divers équipements qui se mettent à communiquer entre eux selon des règles de confiance accordées par une intervention humaine aussi simple qu’un « je fais confiance à.. oui ou non » via une PKI légère où chacun a son certificat SSL, le tout grâce à IPV6 qui octroie une IP publique pour chaque équipement.

Si vous m’avez suivi, vous devez commencer à voir l’intérêt de la chose. Le pouvoir est entièrement dans les mains des utilisateurs, qui choisissent quels flux d’informations partager avec quels équipements, quelles personnes ou quels sites web. Les flux sont chiffrés et SSL permet une authentification de ces équipements entre eux.

L’arrivée des objets reliés à Internet dans notre paysage numérique pose déjà aujourd’hui des problèmes relatifs à la neutralité. On sent peu à peu venir les constructeurs et fabricants, et vous allez les voir, il n’y a pas loin à chercher, tenter d’éviter que leurs équipements puissent communiquer directement avec d’autres en créant des points de centralisation.

Typiquement, si l’on prend un fabricant de consoles de jeux comme Sony qui décrète que la PlayStation de Jean est obligée de passer par le PlayStation Network qui contactera l’Apple Store pour demander s’il a le droit de communiquer avec l’iPad de François, on voit tout de suite à quel point un fabricant peut devenir à la fois le maillon le plus inutile et le plus faible de notre architecture.

La magie de FOAF n’est malheureusement pas vraiment visible dans les schémas proposés ci-dessus. Ceci va en fait bien plus loin. Couplé à SSL et à IPV6, nous sommes en face d’une solution vraiment terrifiante pour beaucoup parce qu’elle permet de faire de l’Internet, du vrai, totalement décentralisé, qui permettrait à des humains de communiquer avec des objets, des applications web, ou d’autres humains… et à des objets de communiquer entre eux ou avec des applications web.

La nouveauté, c’est aussi qu’il devient possible d’octroyer une confiance à des objets, des applications Web et des humains, ce de manière relativement simple et relativement sécurisée. FOAF permet donc aux amis de nos amis, d’accéder à un équipement et aux données qui s’y trouvent si on détermine que l’on octroie une forme de confiance à ces derniers. Appliqué à une échelle importante, on crée donc des micro-communautés autour de données et d’équipements réseaux. La gestion de la confiance est elle, bien humaine et le reste, elle ne subit pas la volonté d’un intermédiaire auquel on ne porte aucune confiance.

Si vous souhaitez en savoir plus voici quelques liens indispensables. Les possibilités d’implémentation sont nombreuses, elles n’attendent que quelques développeurs motivés :

 

Twitter Facebook Google Plus email


20 thoughts on “IPV6, FOAF, SSL et Internet des objets”

  1. Je ne demanderai pas la permission à Internet pour savoir si j’ai oui ou non le droit de me faire un café.

    Pour savoir le temps de cuisson de je ne sais trop quoi, pas besoin d’etre un grand chef pour savoir que ca depend de l’equipement qu’on utilise et pour pomper des recettes sur internet je n’ai pas besoin d’un frigo connecté a l’heure ou on nous explique qu’il faut faire des economies d’energie.

    Les objets connectés doivent avoir une raison d’etre connectés.

  2. Bah Madouf, la première raison des objets connecté dans le post de bluetouff c’est, a mon avis, de permettre a des gens qui n’ont pas forcément de PC a aller sur le net.

    Si je veux faire tel ou tel recette, que mon frigo vérifie sur le net et me disent ce qu’il manque est un service :)

    Par contre, la c’est un jolie rêve, pour moi aujourd’hui, la majorité d’objet connecté c’est les voitures pour la géolocalisation et les consoles pour le tracking/surveillance de l’utilisation de sa console/JV.

    Mais cela évolue, en payant (une fortune) un module, je peux connecter ma chaudière sur mon réseau par exemple. Et on ouvre alors des possibilités de suivi fun :)

    1. « de permettre a des gens qui n’ont pas forcément de PC a aller sur le net. »

      >>

      allez allez, vu le prix qu’on paiera et vu qu’il faudra un abonnement internet, ca va pas etre une revolution pour les gens que ca concernera au depart.

      1. Pour appuyer l’inquiétude de bluetouff sur les dérives à venir, on peut également rappeler que ce protocole permet de donner des niveaux de priorités aux paquets : (lire « Développements mettant en cause la neutralité du Net ») : http://fr.wikipedia.org/wiki/Neutralit%C3%A9_du_r%C3%A9seau

        Ce n’est pas par hasard si le gouvernement français incite les acteurs de net à migrer rapidement vers l’ipv6…mais en doutiez-vous ?

        1. Tout faux : les possibilités de marquer les paquets pour les traiter ensuite de manière différenciée sont quasiment les mêmes en IPv4 et IPv6.

          Et, dans les deux cas, elles ne sont quasiment pas utilisées pour une raison simple : les gens qui veulent traiter différemment les paquets ne font pas confiance à un champ qui est mis par l’émetteur. Ils préfèrent se fier au numéro de port ou au DPI.

          1. Tout faux alors ? Donc si je te suis bien il est possible de faire du DPI en ipv4 directement via le routeur ?

            Je te rappelle au passage que les labs hadopistes travaillent activement sur ce concept… :)

  3. Personnellement, j’adhère presque totalement : il y a quand un problème de transitivité des droits. Si la grand-mère accepte de partager les recettes avec son petit-fils n’a t-elle pas aussi le droit de refuser que son petit-fils les partagent avec ses copains?

    Y’a que des plateforme fermée qui puissent répondre à de telles problématiques.

  4. Tant qu’à faire de la prospective techno, plus proche de nous et quasiment bouclé il y a WebID, FOAF+SSL, authentification distribuée pouvant être auto-hébergée (le certificat est stocké dans le navigateur, ou dans une clé USB…)

  5. |StEf| : cette histoire comme quoi IPsec serait « intégré » dans IPv6 est une pure légende. Aussi bien du point de vue des normes que de celui des mises en oeuvre, IPv4 et IPv6 ont exactement le même rapport à IPsec.

    Après, on rentre dans une question de choix complexe. IPsec se situe plus bas que TLS et ne permet pas facilement, par exemple, à l’application de savoir si le pair a été authentifié. IPsec protège plutôt l’infrastructure, TLS les applis.

    1. C’est pourtant clairement spécifié dans les RFC et cela fait partie de l’entête d’IPv6, ce qui n’est pas le cas en Ipv4 , par contre la mise en œuvre reste la même la je suis d’accord. Alors maintenant si dans les faits certains industriels ne respectent pas les RFC c’est possible mais ils ne sont pas conformes et d’autre le font comme Cisco  » http://www.cisco.com/en/US/docs/ios/ipv6/configuration/guide/ip6-ipsec.html  » qui dit clairement « IPsec is a mandatory component of IPv6 specification ».
      Il y a deux modes d’Ipsec , le mode tunneling qui n’a pas d’intérêt au sujet de l’article et le mode host to host qui lui permet de justement décharger les applications sur le chiffrement et l’authentification au niveau de la couche réseau ( niveau 3 ).

  6. Un terminal constamment connecté chez soi, qui récoltera des données et dont on ne connaîtra -probablement- pas le fonctionnement, ça ne vous dit rien ? Je suis le seul à avoir pensé à 1984 ?

  7. Le principe est très intéressant, et plus simple à mettre en oeuvre avec IPv6, c’est vrai.

    Je m’interroge toutefois sur un point relatif à la confiance:

    > « je fais confiance à.. oui ou non » via une PKI légère

    Il me semble qu’une PKI est hiérarchique par nature, même si on peut tout à fait fonctionner en mode dégradé avec des certifications croisées pair à pair.

    Ne serait-il pas plus logique de s’appuyer là aussi sur un système distribué plutôt que hiérarchique ?

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *