Page de description

La page A quoi ça sert ? du blog n’est pas adaptée pour décrire ce qu’est le projet nebule, son contenu et ses principes. Cette page va être remplacée progressivement par une nouvelle page Description, qui reste à rédiger…

::

Voici le contenu à ce jour de la page A quoi ça sert ? :

A quoi cela sert-il ?

Il est vrai qu’à première vue, le projet nebule semble bien complexe et loin de ce que l’on a l’habitude de voir…
En fait, les premières recherches sur la gestion de données ont fait mûrir la compréhension de l’information et de la donnée, mais aussi et surtout leur environnement et leur exploitation.

Nebule, c’est avant tout un nouveau moteur pour relier les personnes et leurs données, en autres. Comme tout moteur, c’est un objet technique destiné à être recouvert par une belle carrosserie = l’affichage pour les humains.

Quel est le problème ?

L’ordinateur personnel a ouvert à tous la possibilité du stockage et du traitement de données numériques personnelles. Chaque personne gérait ses propres données comme bon lui semblait.
On peut comparer cela à la mise en place d’une bibliothèque personnelle de livres, d’album photos, etc…

L’Internet a ouvert le monde à tous ces ordinateurs. Il a aussi introduit de nouveaux et nombreux usages de l’ordinateur personnel. Les personnes ont commencé à échanger une quantité grandissante et toujours plus variée de données d’abord via des serveurs puis directement entre eux (P2P).
C’est l’équivalent de la mise en place d’un service postal entre particuliers.

Les nouveaux usages liés à l’interconnexion des ordinateurs évoluent. Les réseaux sociaux relient directement les personnes en temps réel et sans contrainte de distance. Les données et traitements se sont déplacées de l’ordinateur personnel vieillissant vers le nuage (cloud computing). Toutes nos données sont disponibles partout et tout le temps.
On retrouve la même avancée sociale que le téléphone, et plus encore le téléphone cellulaire.

Nous sommes en pleine révolution. Le Big Data et l’Open Data s’imposent partout. Les anciennes valeurs de notre monde sont bousculées. Et cette révolution n’est pas encore terminée. Nous entrons pour le meilleur et pour le pire dans une nouvelle ère, celle de l’homo-cybernéticus.
Ca, c’est une vision à long terme. Mais à court terme, où en est-on? Le nouveau monde numérique est-il idyllique ?

Nous sommes en train de perdre progressivement le contrôle directe de nos données personnelles. Pour les partager plus facilement, nous les confions à différentes sociétés internationales. Les réseaux sociaux sont l’aboutissement du partage de photographies, de vidéos, de commentaires, d’idées, d’humeurs… Sur le nuage convergent nos documents. Tout se retrouve progressivement dans des silos de données sur internet, et tout a un potentiel marchand. Nous restons producteur et consommateur de nos propres données, mais leur contrôle est maintenant assuré par d’autres personnes soumises à des lois différentes.
En quelque sorte, on enregistre nos conversations téléphoniques depuis un autre pays et avec notre consentement.

Nous sommes en train de perdre progressivement le contrôle de notre identité privée. En ayant confié nos données à d’autres personnes, nous devons maintenant justifier de notre identité pour y accéder. Chaque silo de données garde jalousement son indépendance, et nous oblige à maintenir une identité pour chacun d’entre eux. Notre identité numérique se fragmente et se fragilise.
A chaque fois que nous décrochons le téléphone, nous devons décliner un identifiant et un mot de passe. Et ceux-ci sont différents suivant la destination appelée.

Nous sommes en train de perdre la bataille de la sécurité de nos ordinateurs et de l’internet dans son ensemble. Un ordinateur sur quatre serait porteur d’un logiciel malveillant. Le nombre de logiciels malveillants est en constante augmentation, leur complexité aussi. Les attaques de type zero-days sont en progression. Les DDoS (Distributed Denial of Service) n’ont pas de réponse évidente. Il y a autant de gens sur les réseaux sociaux que d’ordinateurs dans les botnets. Une grande partie des ordinateurs sont mal protégés, voir tout simplement mal configurés. Les anti-virus, quand ils sont en place et à jour, ne détectent pas toutes les menaces. Les sociétés privées sont les maillons faibles des certificats utilisés par TLS et deviennent des cibles privilégiées. Les DNS sont régulièrement détournés. La structure de l’internet est-elle défaillante ? Le modèle client/serveur actuel est-il vulnérable ? Dans tous les cas, les statistiques ne vont pas dans le bon sens.
Êtes-vous vraiment sûr de savoir qui vous avez à l’autre bout du fil ? Et ceux qui enregistrent votre conversation sont-ils les personnes que vous pensez ?

Il faut remettre en question la façon dont nos ordinateurs manipulent nos données.
Il faut remettre en question la façon dont nos ordinateurs communiquent.
Il faut remettre en question la façon dont nous communiquons avec nos ordinateurs.

Quelle solution propose nebule ?

Le projet nebule a démarré sur une réflexion autour de la gestion de l’information, des données et des acteurs. Ce n’est pas en tant que tel une remise en question des usages ou des moyens, mais cette réflexion apporte une nouvelle solution aux moyens. Et l’élargissement de la réflexion autour de ce nouveau moyen met en lumière que de nouveaux usages deviennent possibles.

Des problèmes exposés, il ressort déjà que l’on doit retrouver la confiance perdu dans nos systèmes d’information. Cela passe d’abord par une déconcentration de l’identification. Puis l’utilisateur doit se réapproprier ses données.

La solution repose sur trois bases :

  1. L’objet : représente le côté interne, l’ossature ;
  2. Le lien : représente le côté externe, les échanges ;
  3. La confiance : c’est le ciment qui fait tenir le tout.

Le moteur nebule propose l’application de ces trois bases suivant des principes :

  1. Identifier strictement les objets par des empreintes ;
  2. Chiffrer les objets au besoin ;
  3. Lier les objets entre eux ;
  4. Signer tous les liens ;
  5. Valider les objets par les liens et leurs signatures ;
  6. Gérer les création/suppression de liens avec horodatage ;
  7. Caractériser les entités par des bi-clés cryptographique ;
  8. Gérer les entités comme des objets ;
  9. Permettre la génération et la diffusion d’objets avec ou sans connexion réseau ;
  10. Aucun objet ou lien n’est transmis, tout échange se fait par téléchargement.

Nous obtenons un moyen de gestion de nos données qui est capable de reproduire la majorité des échanges sous-jacents aux applications que nous utilisons actuellement. Nous pouvons par exemple reproduire un système de fichier, la gestion de documents (GED), la gestion de photographies/musiques/vidéos, la gestion de logiciels, un blog, un forum, un wiki, un réseau sociale, un micro-blogging, une messagerie, un vote électronique, une gestion de textes étatiques ou associatifs, un payement sécurisé, une carte de sécurité sociale, et bien plus encore!

Le tout est possible avec un protocole unique, sécurisé et non centralisé. Il n’y a plus de serveur central, tout est fait par tout le monde : les entités. Et tout s’échange de proches en proches (type P2P). Tous les objets sont vérifiables. Tout ce que les entités génèrent, les liens, sont vérifiables et ne peuvent être répudiées. Tout est dynamique en fonction de ce que font les entités proches.

Les communications peuvent emprunter des protocoles de communications actuels comme le HTTP ou le SMTP par exemple. Une entité est toujours initiatrice d’une connexion et ne peut que télécharger des objets et des liens. Une entité ne peut rien envoyer à une autre entité, elle doit mettre son message à disposition et lier ce message à cette autre entité. Cette façon d’échanger réduit les risques de messages non sollicités.

Une entité n’est pas connectée? Les liens qu’elle a généré sont sûrement disponibles auprès des entités qu’elle connaît et qui les auront déjà téléchargés. De la même façon, les objets concernés par les liens sont disponibles auprès de ces mêmes entités qui deviennent des relais. Ainsi, même absente, une entité reste en quelque sorte présente sur le réseau.

Une machine relais d’objets et de liens peut être défaillante ou corrompue, l’intégrité des liens et objets est assurée.

Description détaillée de la solution

Une des premières constatations, c’est qu’il faut distinguer donnée et information. L’information est contenu dans les données.

Ensuite, il est illusoire de prétendre pouvoir maîtriser la (re)diffusion de ses données une fois qu’on les a transmises à quelqu’un d’autre. Ça ne marche que si l’autre est coopératif, et c’est impossible à vérifier.

Nous avons autour de nous de plus en plus d’objets communicants. Ces objets sont producteurs de données nouvelles, consommateurs de nos données, et parfois à la fois producteurs et consommateurs. Devenant acteurs du monde numérique au même titre que les humains, ils doivent être reconnus et gérés exactement de la même façon.

Enfin, on ne peut accorder de confiance à un système que si tous ces éléments constitutifs sont conçus pour être fiables. C’est la base de la sécurité des systèmes d’information (SSI). Sans cela, sauf pour jouer, le système dans son ensemble ne peut être raisonnablement utilisé. La SSI définit des principes à respecter : confidentialité (Co), intégrité (In), disponibilité (Di), authentification (Au) et non répudiation (Re).
Qui confierait son argent à une banque qui ne dispose d’aucun coffre fort ? Personne. Il en est de même en informatique.

Détail des principes :

  1. Identifier strictement les objets par des empreintes. Comme les objets physiques, les données doivent être parfaitement identifiables et discernables. Il ne doit pas être possible de modifier un objet. Seule une empreinte cryptographique permet de nous assurer de la cohérence d’un objet. Le projet nebule utilise aujourd’hui l’algorithme SHA256 afin d’identifier tous les objets numériques. Tout objet modifié devient soit invalide soit un nouvel objet à part entière. (In)
  2. Chiffrer les objets au besoin. Si le besoin s’en fait sentir, un objet peut être chiffré. Il devient ainsi un nouvel objet dérivé dont les données sont cachées. Le déchiffrement de cet objet dérivé permet de régénérer l’objet d’origine. L’objet d’origine restauré peut être vérifié par son empreinte. (Co)
  3. Lier les objets entre eux. Les objets sont partagés par un mécanisme de liens. Le lien est l’élément central des communications. Chaque lien relie trois objets et est marqué d’une date, d’une action et d’une signature. Les trois objets sont exclusivement référencés dans un lien par leurs empreintes. Ces empreintes d’objets sont représentées dans l’ordre sujet-complément-verbe, c’est à dire l’objet sujet du lien, un objet (complément) contenant par exemple une propriété, et un objet (verbe) décrivant la relation entre le sujet et le complément.
  4. Signer tous les liens. Une signature vient verrouiller chaque lien. Le même lien peut être créé par plusieurs entités, seule la partie signature change. La signature est une valeur cryptographique calculée avec l’empreinte complète du lien et la clé privée de l’entité signataire. (In) (Au) (Re)
  5. Valider les objets par les liens et leurs signatures. Les objets ne sont pas signés directement, seule leur empreinte cryptographique les distinguent. Intégrer l’empreinte d’un objet dans un lien, quel qu’en soit la position, c’est reconnaître et valider implicitement cet objet. Cela équivaut à une signature de l’objet. (In)
  6. Gérer les création/suppression de liens avec horodatage. Chaque lien intègre une action et est daté afin d’être repéré dans le temps. Il existe plusieurs types de liens. Une fois créés, les liens sont définitifs, mais un type de lien permet une désactivation de liens sans nécessiter de suppression. Les créations et désactivations de liens sont propagés de la même façon.
  7. Caractériser les entités par des bi-clés cryptographique. Une entité, quelque soit de type humaines ou robotiques, dispose de deux actions dites fortes. La première action forte est le chiffrement d’objets avec sa propre clé publique ou les clés publiques d’autres entités. La deuxième action forte est la signature de liens avec sa propre clé privée. Des actions comme la génération d’objets et de liens sont des actions dites faibles. Une entité peut ainsi être caractérisée par sa clé publique et/ou sa clé privée. Ces deux clés étant intimement liées, on peut considérer que la clé publique est suffisante pour caractériser une entité. (Au)
  8. Gérer les entités comme des objets. Les entités sont caractérisées par deux clés cryptographique. Ces deux clés doivent être stockées comme tout autre information, elles sont donc des objets comme les autres. Elles sont ainsi diffusées de la même façon que des objets avec le même mécanisme de liens. (In) (Di)
  9. Permettre la génération et la diffusion d’objets avec ou sans connexion réseau. La génération et le stockage d’objets et de liens sont complètement indépendants du réseau. Leur transmission nécessite une connexion réseau ou un support amovible. Le réseau est un support de transport mais il n’est ni exclusif ni obligatoire. (Di)
  10. Aucun objet ou lien n’est transmis, tout échange se fait par téléchargement. Une entité ne peut rien envoyer à une autre entité. Si elle veut lui transmettre un objet, elle doit le mettre à disposition et le lier à l’autre entité. Cette façon d’échanger réduit les risques de messages non sollicités. Au besoin, une entité annuaire peut aussi permettre la transmission d’objets entre entités qui ne se connaissent pas.

Et après ?

Le concept de base du projet nebule est peut-être une erreur, qui sait ?
Mais ce qui serait indiscutablement une erreur, c’est de ne pas essayer !

Laisser un commentaire