La Blockchain pour les nuls

La blockchain qui est juste présentée comme la plus grosse révolution depuis Internet. Rien que ça. Pourquoi?

Parce que tout comme Internet, la blockchain va créer de nouvelles opportunités et faire tomber les barrières à l’entrée de nombreux secteurs d’activité aujourd’hui détenus par des gros acteurs.

La Blockchain sera à la transaction ce qu’Internet a été à l’information. Et dans le cas de la blockchain, ce sont les acteurs qui jouent le rôle d’intermédiaire de confiance dans les transactions qui vont voir leur position être remise en question (banque, notaire, et même les plateformes numériques comme Uber ou AirBnb).

 

Aujourd’hui une transaction financière entre 2 personnes nécessite l’intervention d’un tiers de confiance.

  • Coralie veut faire un virement à Christophe pour lui payer ses carottes,
  • Elle envoie l’ordre de transfert d’argent à sa banque,
  • La banque va vérifier si Coralie possède déjà bien le montant sur son compte et elle va aussi vérifier que c’est bien Coralie qui demande le virement,
  • Et si c’est le cas,  la banque va faire le transfert du montant demandé du compte de Coralie vers le compte de Christophe.

Ensuite, le rôle de la banque est aussi de garder une trace de tout ce que possède ses clients et une trace de l’ensemble des transactions effectuées. Pour notre explication, on dira que la banque stocke toutes ces informations dans un grand livre de compte.

 

Voyons maintenant comment avec la blockchain il est possible de s’affranchir de cet intermédiaire de confiance.

Tout d’abord, avec la blockchain, ce livre de compte devient public . C’est à dire qu’il n’est plus détenu que par un seul acteur mais est distribué à tous : chaque personne possède alors une copie de ce livre de compte et peut consulter l’ensemble des échanges présents et passés. Toutes les personnes qui possèdent ce livre de compte constitue le réseau de la Blockchain.

Reprenons le même exemple mais en appliquant les principes d’une transaction avec la Blockchain :

  • Coralie lance l’ordre de virement
  • Les différentes personnes du réseau vont alors vérifier dans leur livre de compte que Coralie possède bien le montant nécessaire pour la transaction.
  • Si c’est le cas, alors la transaction est validée.
  • Chaque personne va alors écrire cette transaction dans une nouvelle page de son livre de compte, ce qui met à jour tous les livres de compte de la blockchain.

Vous l’avez compris avec la blockchain ce n’est pas un seul acteur central qui valide ou non une transaction mais c’est l’ensemble des membres du réseau.

Maintenant imaginons que vous essayez de tricher par exemple en prétendant posséder plus ou en essayant de falsifier votre livre de compte, eh bien cela se va se remarquer car tous les autres verront que ce n’est pas ce qui est inscrit dans leur copie du registre. Ils contesteront donc l’information.

Et si on y réfléchit bien, dans ce système, on n’a même plus besoin de monnaie physique.

Dès que vous faites une transaction financière, il suffit de l’annoncer et tous les livres de compte mettront à jour l’information. Les livres de comptes font foi sur ce que chacun possède et sur l’historique des transactions. Vous pouvez vérifiez ce que vous possédez et ce que les autres possèdent. Et oui c’est le principe des monnaies virtuelles comme le bitcoin. On y reviendra plus tard.

Dans la vraie vie évidemment, ce ne sont pas des livres qui stockent et traitent l’information mais des machines avec de la puissance de calcul comme des ordinateurs ou des serveurs.

Techniquement, la blockchain peut donc être vu comme une base de donnée distribuée sur différents noeuds de stockage. Ces noeuds de stockage, ce sont les utilisateurs qui vont apporter avec leur machines de la puissance de calcul et de l’espace de stockage pour faire fonctionner la blockchain.

La blockchain est donc un système décentralisé maintenu par les participants du réseau eux-mêmes.

 

Tout comme le livre de compte est constituées des pages de transactions, la blockchain est une chaîne formée de “blocs de transactions”.

Chaque échange effectué entre ses utilisateurs est enregistrés sous forme de « blocs » qui, mis bout à bout, forme donc une « chaîne ». D’où la notion de “blockchain” chaîne de blocs.

Chaque bloc de la blockchain contient :

  • un ensemble de transactions, évidemment
  • Ensuite un bloc est caractérisé par un “hash”, le hash c’est une suite de caracteres unique servant à identifier le bloc, c’est l’empreinte du bloc en gros
  • Enfin, le bloc contient aussi le “hash” du bloc précédent qui est donc l’identifiant unique du bloc qui le précède (pour garantir l’ordre du bloc dans la blockchain)

 

Bon, maintenant, je vais entrer un peu plus dans le détails pour vous expliquer ce hash. Cela fait appel à des notions de cryptographie mais pas de panique je vais vous expliquer ça simplement.

En gros, un algorithme de hashage : c’est une fonction mathématique qui  va transformer un ensemble de données de départ en une suite de caractères.

Cette suite de caractère est donc le hash et il est spécifique et unique aux données qui ont été prises au départ, ce qui veut dire que Tout changement même infime dans le message implique un important changement du hash.

Ensuite, les fonctions de hashage ont une spécificité : elles ne marchent que dans un sens. Il n’est donc pas possible de retrouver le message initial à partir du hash,

On ne peut rien faire de la seule suite de caractère du hash

Le hash permet seulement d’avoir la garantie que les données de départ n’ont pas été modifié par quelqu’un.

Parce que s’il est modifié, le hash sera modifié et vous le verriez tout de suite.

Ici par exemple, on peut voir de façon évidente que le hash du bloc 5 de Christophe est différent, on peut donc en déduire que son bloc a été modifié.

 

Revenons maintenant au hash d’un bloc. Un nouveau bloc est identifié par son hash comme on l’a vu.

Et ce hash est notamment calculé à partir du:

  • hash du bloc précédent
  • et Les transactions validées du bloc

 

Passons maintenant au dernier point important de la Blockchain liée à la cryptographie : la signature électronique.

Chaque demande de transaction dans la Blockchain doit être signé par l’émetteur pour être validé.

Ainsi, si Nicolas essaye de dire que « Coralie donne 1000 BTC à Nicolas », les autres ne vous croiront pas tant qu’ils n’auront pas la preuve que c’est bien Alice qui a envoyé le message, et cette preuve c’est la signature d’Alice.

Pour comprendre le concept de signature électronique, on va rapidement voir le concept de cryptographie asymétrique.

Prenons encore l’exemple de Coralie qui veut signer son message, pour ça, elle va avoir besoin de génèrer un paire de clés de chiffrement :

  • Une clé privée, qui ne doit être communiquée à personne. Alice doit être la seule à posséder cette clé privée
  • Et une clé publique, qui peut et doit être communiquée à tout le monde. Ces clés publique sont stockés sur chaque ordinateur du réseau.
  • Ces 2 clés publiques et privées sont liés mathématiquement. On va voir maintenant en quoi.

 

Coralie veut lancer un ordre de virement (ex : »Je donne 10 BTC à Christophe), elle va chiffrer ce message à l’aide de sa clé privée. Chiffrer un message, ça veut dire le rendre incompréhensible. Pour pouvoir lire ce message de nouveau, il est nécessaire de le déchiffrer et le seul moyen c’est d’utiliser la clé publique associée créée par Coralie. En fait seule cette clé publique est capable de déchiffrer les messages qui ont chiffres avec cette clé privée.

Pour déchiffrer ce message sensée venir  de Coralie, les autres personnes du réseau vont donc utiliser la clé publique donnée par Coralie.

Si on a réussi à déchiffrer son message à l’aide de la clé publique de Coralie , alors on sait que que le message est bien de Coralie, parce que seul Coralie possède la clé privé associé.

C’est comme ça que dans la blockchain, les différentes personnes du réseau s’assure bien de l’identité du donneur d’ordre

Point suivant encore lié à la cryptographie et c’est le dernier rassurez-vous!

Dans la Blockchain, il n’y a pas de vrais noms.  Et heureusement! Vous n’avez tout de même pas envie que tout le monde sache ce que vous possédez et ce que vous faîtes comme transactions. Dans la pratique, on transfère les actifs d’une adresse à une autre.

L’adresse est tout simplement une hash de la clé publique. Quand un utilisateur génère une paire de clés, il génère donc automatiquement une adresse à partir de sa clé publique. C’est à cette adresse que les BTC seront envoyé. Grâce à ce système, l’anonymat des utilisateurs est préservés

C’est justement pour pouvoir garder l’anonymat que les cybercriminels demandent des versements en bitcoins via leur ransomware.

 

 

Les 2 blockchains les plus connus sont aujourd’hui Bitcoin (principalement) et Ethereum qui commence à faire parler d’elle. Ces blockchains fonctionnent avec leur propre cryptomonnaie

La blockchain Bitcoin a une cryptomonnaie qui porte le même nom, Bitcoin donc alors que la cryptomonnaie de la BC Ethereum est l’Ether. D’ailleurs Ethereum permet bien plus que les transactions en cryptomonnaie mais ça on verra plus tard dans la vidéo avec les smart contracts.

A noter que les noeuds du stockage sont aussi appelés les “mineurs”. Et Lorsque l’on parle de « miner » des bitcoins, cela veut dire utiliser la puissance de calculs des machines pour la résolution des problèmes mathématiques pour générer un nouveau bloc. Les mineurs qui ont permis de créer un nouveau bloc sont ensuite rémunérés pour ce travail avec de nouveaux bitcoins

 

Maintenant, prenons un exemple de transaction en bitcoin pour voir comment ça marche maintenant qu’on a tous les principes de la blockchain en tête.

  • Coralie veut transférer un bitcoin à Christophe. Elle transmet cette demande à l’ensemble du réseau.
  • Les mineurs vont vérifier l’ensemble de la blockchain pour s’assurer que Coralie possède bien ce bitcoin mais ils vont aussi vérifier que l’ordre donné émane bien de Coralie
  • Si tout est OK, alors chaque mineur travaille à forger un bloc contenant cette transaction
  • Le premier mineur qui réussit à créer le bloc transmet ce bloc aux autres membres pour vérification.
  • Pour qu’un nouveau bloc soit validé, il faut qu’il y ait un consensus entre les différents membres du réseau.
  • Revenons à notre transaction. Une fois le bloc validé par les membres du réseau, chacun ajoute ce dernier bloc deans leur copie de la blockchain
  • Et enfin, Christophe possède alors un nouveau bitcoin

Chaque nouvelle transaction ajoutée à la blockchain, ne pourra être effacée. Cela permet d’assurer la validité et l’authenticité d’une transaction

Jusqu’à présent on a parlé que de cryptomonnaies mais on peut très bien étendre ce principe de transferts à d’autres actifs

C’est par exemple le cas avec les titres de propriétés.

Au Ghana, une majorité des territoires ruraux ne sont pas enregistrés dans un cadastre officiel. Bitland, une organisation basée au Ghana, propose alors aux institutions et aux personnes d’enregistrer les titres de propriété sur la blockchain. La blockchain fournit un enregistrement permanent et vérifiable, et permet de cette façon d’aider le gouvernement ghanéen à résoudre les conflits.

Autre exemple d’actifs stockés dans la blockchain? Les diplômes. Le Massachussets institute of Technology  ou MIT commence à utiliser la blockchain pour certifier le diplôme de leurs étudiants. Le MIT associe le diplôme avec l’identifiant unique de l’étudiant. Ces données sont cryptées, grâce à une clé privée du MIT, et stockées dans la blockchain.

Les jeunes diplômés peuvent ensuite transmettre leur diplôme aux recruteurs, qui peuvent vérifier l’authenticité des informations sur un site du MIT.

Et à terme On peut même imaginer stocker dans la blockchain tous les documents légaux  (par exemple des certificats de naissance, mariage, divorce, testament, etc).

Autre cas d’usage : le caractère inaltérable et transparent de la blockchain permet de garantir la traçabilité d’un actif.

Et c’est pour ça que Carrefour a créee la première blockchain alimentaire en Europe. Le but est de garantir aux consommateurs  une traçabilité complète des produits commercialisés. Ainsi, tous les poulets d’Auvergne de Carrefour intégre un QR Code. Avec ce QR code, vous accèdez à l’historique des événements de la vie, de l’élevage, de la mort et du transport du poulet. Le client pourra s’assurer que le poulet a été élevé dans les conditions exigées par Carrefour.

Et enfin il y a une dernière utilisation de la blockchain qui très peu évoqué et qui pourtant peut être à l’origine de nombreuses d’innovations : ce sont les smart contracts. Et c’est ce que je vais vous expliquer maintenant.

Un contrat légal traditionnel définit les règles d’un accord entre plusieurs parties. Un Smart Contract va lui figer ces règles dans une Blockchain. Mais ce n’est pas tout : Dans un second temps,le Smart contract permet de déclencher automatiquement des actions en fonction des conditions fixés par le contrat, et tout ça sans nécessité d’action humaine. C’est pour ça qu’on les qualifie de « smarts »ou intelligents en français

Concrètement, c’est du code logiciel qui fonctionnent sur une chaine de blocs et est déclenché par des données externes

Allez un petit exemple de smart contracts :

Et c’est d’ailleurs en s’appuyant sur la Blockchain Ethereum que la société d’assurance Axa a lancé son premier smat contract Fizzy qui une assurance voyage pour les retards de vol d’avion entre Paris et les Etats-Unis.

Ce smart contrat déclenche automatiquement l’indemnisation de l’assuré en cas de retard de son avion  et tout ceci sans avoir besoin d’une intervention humaine

 

Et comme je l’ai dit au début, la blockchain a le potentiel pour « ubériser Uber ». Avec la  blockchain, les utilisateurs peuvent effectuer des transactions de pair-à-pair c’est à dire directement entre eux : que ce soit avec un chauffeur, un loueur ou un autre particulier.

Ce qu’il est possible de se passer des plateformes intermédiaires, comme Uber, AirBnB, Blablacar qui constituent aujourd’hui le cœur de la révolution numérique apportées par Internet

 

Les microservices expliqués simplement

Pour donner une définition des microservices, on peut dire que c’est une approche d’architecture logicielle où une application est décomposée en plusieurs petits services. Et ces services sont souvent spécialisés dans une seule tâche.

A noter que quand on parle de service, il faut comprendre service métier, c’est à dire un groupe de services techniques qui fournissent une fonctionnalité avec un sens métier.

Si on prend l’exemple d’un site de vente en ligne, on aura des microservices par exemple pour le panier, la page d’accueil, l’historique, l’inventaire, etc

Ensuite, l’architecture microservices a été inventée pour répondre aux problèmes rencontrées par les applications dites monolithes.

Une application monolithe est une application qui a pour ambition de traiter toutes les demandes possibles et répondre à un maximum de cas d’usage. Sauf qu’avec le temps, les applications ont tendance à grossir en intégrant toujours plus de nouvelles fonctionnalités mais en supprimant rarement les anciennes fonctionnalités, même lorsqu’elles deviennent inutiles ou obsolètes. Et avec le temps les différentes briques développent des interdépendances entre elles. Et avec ça, la quantité de code augmente et ce code devient de plus en plus complexe.

Il devient alors impossible d’avoir en tête un modèle global du projet.
On se retrouve devant une application difficile à maîtriser et à faire évoluer.

Enfin, plus un projet est gros, plus il est critique pour l’entreprise, et moins on va prendre de risques pour tester des nouveautés, on va donc préférer la stabilité à l’innovation

La réponse de l’architecture microservices à ce problème est simple :  découper l’application en différents modules fonctionnels, en microservices.

Chaque microservice exécute une partie spécifique et unique de l’application. Et ces services peuvent être accédés par le client via l’API du microservice correspondant. Le but de l’architecture microservices est de redonner un maximum d’agilité et d’évolutivité à une application.

Côté technique l’architecture microservices est très souvent couplé à la technologie des conteneurs, et notamment Docker.

Quant aux conteneurs, Le principe est d’avoir un conteneur par unité de microservices. Ainsi, Chaque microservice a son propre environnement d’exécution pour héberger son code. Avec les conteneurs, Il est donc très facile en fonction du besoin d’adapter le nombre de microservices, à la hausse comme à la baisse.

SI un service est plus demandé lors d’un pic de charge, il suffit de créer plus de conteneurs fournissant ce microservice. A contrario, quand la demande de ce service diminue, il suffit de ne garder que le minimum de microservices pour couvrir la demande. Dans l’architecture microservices, il suffit juste d’adapter le nombre de ce microservice au besoin alors que dans les application monolithe, il aurait fallu modifier la totalité de l’application à cause des interdépendance.

Et c’est en étant couplé avec l’utilisation des conteneurs que Chaque microservice devient autonome vis à vis des autres microservices
Un microservice peut être alors modifiée, supprimée ou déployée sans impacter les autres microservices.

Ce qui veut dire qu’avec une application découpée en microservices, il est plus simple de cibler les différentes parties impactées d’une application lors d’une évolution. Ce qui facilite la modification des parties concernées sans risque pour le reste de l’application non impliqué.

Du coup, les mises à jour et nouvelles fonctionnalités peuvent être déployées beaucoup plus facilement et rapidement, rendant le déploiement continu possible.

Concernant l’organisation humaine, la taille des projets est limitée à une équipe de quelques personnes. Chaque équipe est autonome et va donc gérer son organisation et sa base de code.
Une équipe est alors libre des choix techniques en fonction de leurs besoins propres.

Terminons par des points d’attention à propos des microservices
Et tout ce que l’on vient de voir doit permettre aux entreprise d’avoir un atout très très important et c’est d’ailleurs ça qui va pousser à l’adoption des microservices.

Et cette carotte c’est le fait d’avoir un time to market plus rapide. Le time to market c’est le délai de mise sur le marché.cad le temps qu’il y a entre la naissance d’une idée jusqu’à son lancement sur le marché. Aujourd’hui un time to market rapide est devenu un facteur stratégique majeur, il permet à une entreprise de prendre un avantage concurrentiel décisif sur ces concurrents en intégrant la toute dernière innovation dans ses produits ou d’adapter ses produits aux nouveaux besoins du marché.

Comme on l’a vu tout à l’heure les microservices permettent justement de déployer plus rapidement et facilement. Ce qui veut dire être capable de s’adapter plus rapidement à la demande du marché et aux nouveautés.

Par contre et il est important de souligner :

Plus les itérations sont nombreuses et rapides (notamment dans le cadre d’un déploiement continu), plus cela va demander cela va demander aux équipes de se synchroniser rapidement.
Cela va demander une organisation mature pour la communication et coordination entre les équipes et une synchronisation de leurs priorités et objectifs pour qu’ils soient alignés avec les enjeux business

 

Qu’est ce qu’un bot? (chatbot, botnet, spambot…)

Le terme Bot est la contraction du mot anglais“robot”. Et les bots sont des programmes informatique développés à l’origine pour effectuer des tâches répétitives.

Principalement parce que cela permet de faire économiser du temps aux humains et d’autre part parce que les bots sont bien plus efficace pour ce genre de tâches répétitives. Du coup il existe autant de variété de bot que de tâches automatisables. Et comme nous les humains, on est des grosses feignasses, on demande aux bots de faire plein de trucs à notre place.

Voyons quelques exemples pour mieux comprendre le grand nombre mais aussi la diversité des bots sur le web.

Premier exemple, les robots d’indexation chez Google. Ces bots passent leur temps à parcourir le web, à analyser des tonnes d’informations pour pouvoir indexer les pages web pour le moteur de recherche. C’est d’ailleurs comme ça que Google arrive à proposer des résultats pertinents. C’est donc le boulot d’indexation de ces bots qui t’évite de perdre des heures à regarder chaque page web une par une à la recherche de la bonne information.

Autre exemple : Sur twitter, des comptes twitter réagissent à des mots clés spécifiques. Par exemple si tu tweetes le mot Bitcoin, tu verras des comptes débarquer liker ton tweet ou même te répondre. Ce sont des compte twitter qui peuvent être tenus par des vraies personnes mais qui sont aidés par des bots. Le but de ces bots c’est de repérer toutes les personnes intéressées par le sujet et essayer de capter leur attention.

Ensuite, Il est aussi possible de créer des bots pour lire des vidéos Youtube  ou mettre des likes automatiquement. Il y a des entreprises qui vendent des likes.

Bref tout ça pour dire qu’on peut faire faire et qu’on fait déjà faire beaucoup de choses sur internet par des bots, ce qui explique qu’ils sont en plus grand nombre en terme de trafic sur le web que les humains.

Bon là c’étaient des exemples de bots qui exécutent des tâches simples et basiques. Mais avec le progrès, certains bots deviennent des applications à part entière avec une gamme très large de fonctionnalités. En effet, certains intégrent même des programmes d’Intelligence Artificielle. Prenons l’exemple des des chatbot qui sont très à la mode en ce moment.

Alors le chatbot, c’est un logiciel programmé pour simuler une conversation en langage naturel par messagerie d’où le terme “chat”.

C’est le cas avec les bots messenger de facebook : tu peux demander le temps qu’il fait dehors avec le chat Bot Poncho ou commander une pizza via le chatbot de Pizzahut.

Plus besoin de lignes de commande, suffit juste de leur poser une question comme si on s’adressait à un autre humain. Et le chatbot va au besoin affiner la demande à travers une conversation pour mieux comprendre le besoin et ainsi fournir le service demandé.

Comme ça tu n’as plus qu’à demander à ton chatbot. Et le chatbot lui va s’occuper de s’interfacer avec la bonne application ou base de données pour répondre à ta demande. Ces chatbots se comporte donc comme des assistants personnels.

Et le niveau suivant de ces bots assistants personnels c’est de s’affranchir de l’ordinateur ou du mobile, on peut par exemple citer Google Home ou Alexa d’Amazon. Dans ce cas, il suffit juste de parler, c’est encore plus simple et plus naturel.

Bon, Là j’ai parlé des bots sympas qui aident les humains mais il existe aussi des mauvais bots dont les actions ont une finalité malveillante. Par exemple, il existe une version mauvais bot d’indexation Google, c’est le spambot.

Les spambots parcourt le web à la recherche des adresses mail qu’il trouve sur des sites web ou de forums de discussions par exemple. Le but de construire des listes d’adresses pour l’envoi de spam.

Les mauvais bots ne sont que des actions malveillantes automatisés après tout.

Enfin, une catégorie de mauvais bot bien plus dangereux : les Botnets.

Les botnets désignent un réseau de machines zombies, c’est à dire contrôlés à l’insu des utilisateurs par un cybercriminel.

Les botnets malveillants peuvent par exemple :

  • Réaliser des opérations de phishing ;
  • Infecter d’autres machines par diffusion de malwares ;
  • Participer à des attaques de déni de service (qu’on appelle aussi DDoS) ;
  • Récupérer des informations sur les machines compromises (mots de passe, informations personnelles ou données bancaire).

Le chiffrement SSL/TLS pour les débutants

Bonjour à tous!

Dans cette vidéo je vais vous parler de chiffrement des communication sur le web. Plus concrètement c’est lorsque vous surfez sur des sites en https. Alors oui, vous savez maintenant que le S c’est pour dire que la communication est sécurisée car chiffrée.

Et dans cette vidéo, je vous explique comment tout ça marche dans cette vidéo.

 

 

Mais voyons ce qu’est le chiffremement web avec un exemple :

  • Lorsque vous vous connectez sur le site de votre banque, la connexion se fait toujours en https pour des raisons de sécurité
  • Vous pouvez vérifier ce sera toujours le cas (ou alors changez de banque!)
  • Mais que se passerait-il si la communication se faisait en HTTP?

Eh bien c’est simple, toutes les informations échangées transiteraient en clair. Ce qui veut dire qu’une personne malveillante peut intercepter les échanges avec votre banque et donc avoir toutes les informations qui y transitent

En fait le HTTPS c’est une connexion HTTP dans un tunnel chiffré SSL/TLS. Et ce tunnel va sécuriser vos échanges car mêmce si une personne malveillante intercepte vos échanges, les informations sont chiffrées et donc incompréhensibles pour elles.

SSL veut Secure Sockets Layer. TLS veut dire Transport Layer Security. SSL et TLS sont des protocoles de sécurisation des échanges sur Internet. Aujourd’hui c’est TLS qui est utilisé, SSL étant obsolète. Mais on parle parfois de SSL/TLS pour parler juste de TLS.

 

Maintenant voyons ce qui se passe derrière ce chiffrement SSL/TLS.

Le chiffrement consiste à transformer vos données afin de les rendre illisible grâce un algorithme de chiffrement et une clé de chiffrement

La clé de chiffrement est utilisé par un algorithme, pour chiffrer et déchiffrer des données utiles (l’information qu’on veut faire transiter). La clé de chiffrement c’est une donnée (en gros c’est une suite de bits comme une phrase ou une série de chiffres) qu’on peut voir comme un mdp. Un algorithme de chiffrement c’est juste une méthode de chiffrement, cad une façon de rendre inintelligible vos données.

Pour pouvoir lire ces données de nouveau, il est nécessaire de connaître l’algorithme et la clé de chiffrement pour les déchiffrer

 

Maintenant que vous avez compris ça, passons à la notion de cryptographie symétrique :

  1. Ici Alice et Bob ont la même clé secrète.
  2. Alice veut envoyer un message à Bob. Elle veut que personne d’autre que Bob ne puisse lire ce message. Du coup, elle prend sa clé secrète et va chiffrer le message avec
  3. Elle envoie le message chiffré à Bob
  4. Lorsque Bob recoit le message d’Alice, il ne peut pas encore le comprendre à la reception. Il faut d’abord qu’il déchiffre le message avec la même clé secrète. Et c’est seulement là qu’il pourra lire le message
  5. Et si Bob veut répondre à Alice de façon sécurisé, il peut utiliser la clé secrète pour chiffrer sa réponse et ensuite l’envoyer à Alice.

Il y a donc une seule clé pour chiffrer et déchiffrer un message

Le Gros problème de la cryptographie symétrique c’est l’échange de ces clés. En effet, Le fait que les 2 personnes. doivent utiliser la même clé impose d’avoir un canal sécurisé pour l’échange de la clé parce que si quelqu’un d’autre arrive à s’emparer de la clé… il sera capable de lire le message…

Passons maintenant à la cryptographie asymétrique

Le principe du chiffrement asymétrique repose sur l’utilisation de 2 clefs :

  • on appelle une des 2 clefs la clef privée et l’autre la clef publique.
  • Quand l’utilisateur chiffre avec la première clef, il peut déchiffrer avec la deuxième clé
  • Quand l’utilisateur chiffre avec la deuxième clef, il peut déchiffrer avec la première clef.
  • Peu importe l’ordre des clés utilisés parce qu’en fait ces 2 clés ou algorithme de chiffrement sont liés mathématiquement

Reprenons avec Alice qui a maintenant une clé privée et une clé publique :

  • La clef privée n’est jamais transmise à personne (ça porte bien son nom d’ailleurs).
  • Par contre, Alice peut diffuser sa clé publique à n’importe qui,
  • Donc là Alice a envoyé sa clé publique à Bob pour que les 2 puisse communiquer

Voyons maintenant comment ça marche :

  1. Ici Bob et Alice se sont transmis leur clé publique et garde leur clé privé
  2. Bob veut envoyer un message à Alice et veut que seul Alice puisse lire le message. Il chiffre donc son message avec la clef publique d’Alice
  3. Alice déchiffre le message avec sa clef privée (il n’y a qu’elle qui possède cette clef). Alice est la seule à pouvoir déchiffrer les messages qui lui sont adressés
  4. De façon similaire, Si Alice veut répondre à Bob. Alice utilise la clef publique de Bob pour envoyer le message;
  5. Bob utilisera sa propre clef privée pour le déchiffrer le message

Ce procédé assure la confidentialité de l’échange c’est-à-dire être sûr que Alice et Bob sont les seuls à échanger.

Bob est sûr que seul Alice peut lire son message puisque Bob a utilisé la clef publique d’Alice pour chiffrer son message. Seule la clé privé d’Alice peut déchiffrer le message de bob. Bob est donc sûr que seule Alice peut lire le message et inversement pour Alice avec la clef publique de Bob

Ensuite la cryptographie asymétrique garantit aussi l’authenticité de l’expéditeur :

  • C’est-à-dire que pour Bob c’est être sur le message d’Alice vient bien Alice)
  • Eh oui parce que si Bob réussit à déchiffrer le message avec la clé publique d’Alice c’est que le message a été chiffré avec la clé privée d’Alice
  • Tous ceux qui ont la clé publique peuvent déchiffrer le message d’Alice, mais seule Alice possède sa clé privé
  • Si Bob arrive a déchiffrer le message avec la clé publique d’Alice il sait que le message est bien d’Alice

Le problème va venir de la transmission de la clé publique. Notamment si une personne malveillante, qu’on va appeler M pour la suite, se positionne entre Alice et Bob, et se fait passer pour l’un d’eux et donne sa clé publique à la place. C’est l’attaque du MITM ou de l’homme du milieu en français

Il va diffuser une clé publique à Bob en se faisant passer pour ALice. Bob croit alors que c’est la clé publique d’Alice. Alice et Bob ont tous les deux la clef publique de M, en pensant qu’ils ont celle de leur interlocuteur. M intercepte et modifie l’échange de clefs entre Alice et Bob.

Du coup, lorsque Alice veut envoyer un message à Bob, elle va l’envoyer en chiffrant avec la clé publique supposé appartenir à Bob. En fait, M va intercepter le message, il va le déchiffrer avec sa clé privé et lire le message. Ensuite pour ne pas éveiller les soupçon, il va chiffrer le message avec la clé publique de bob et envoyer le message à Bob.

Comme ça Bob déchiffre avec sa clé privé pour lire le message. M est donc capable de lire les conversations entre les 2 et de récupérer des informations importantes.

Et à l’inverse, quand bob veut échanger avec alice, il utilise la clé publique de M pour chiffrer et M fait la même chose cad qu’il intercepte le message, l’ouvre, le lit et le rechiffre avec la clé publique d’alice.

Pour éviter que probleme de MITM, il faudrait pouvoir certifier l’identité du porteur de cette clé. Et ça c’est le rôle du certificat.

Un certificat  est un fichier avec ensemble de données contenant :

  • une clef publique (au minimum)
  • des informations pouvant identifier la personne : nom, e-mail, localisation…
  • des informations liées au certificat, notamment sa date de validité
  • Et une signature électronique d’une autorité de certification

La signature électronique est la preuve le certificat a bien été vérifiée par l’autorité de certification puisque qu’il y a sa signature. Elle est la garantie de son intégrité (cad la preuve que le document n’a pas subit d’altération entre l’instant où il a été signé par son auteur et celui où il a été consulté).

A noter que la signature électronique du certificat c’est la combinaison de vos information et de votre clé publique, tout ça chiffré par la clé privé de l’autorité de certification

une Autorité de Certification est l’institution responsable d’émettre ces certificats et elle garantit que les informations contenus dans ces certificats sont correctes.

Dans notre cas, si Alice veut créer son certificat, il faut qu’elle fournisse sa clé publique et des informations sur elle à l’autorité de certification et des sous (parce que ce n’est pas gratuit), qui elle vérifie tout ça, L’autorité de certification va créer un certificat pour Alice avec la signature électronique de l’AC,

Le certificat atteste donc  que la clef publique du certificat appartient bien à la personne désignée dans le certificat.

 

Maintenant que vous avez toutes ces notions en tête, on peut passer à l’explication du chiffrement SSL/TLS.

Imaginons que vous voulez vous connecter à votre banque, vous allez taper l’adresse de votre banque en https sur votre navigateur :

  1. Vous allez envoyer une demande de connexion sécurisée à votre banque
  2. Votre banque va alors vous envoyer son certificat avec sa clé publique
  3. Votre navigateur vérifie la signature du certificat et sa validité. Il faut savoir que le navigateur a déjà un certain nombre de clés publique d’AC dans sa base de données
  4. Ensuite le navigateur va prendre la clé publique de l’AC qui a certifié le certificat de la banque.
  5. Il va déchiffrer la signature du certificat, s’il y arrive. Cela veut dire que le certificat est de confiance car seul l’AC possède sa clé privé
  6. Si tout est OK, le client et le serveur négocie ensemble pour se mettre d’accord sur un algorithme de chiffrement ainsi qu’une clé secrète commune qu’ils vont utiliser pour cette session d’échange, connus de 2 seulement comme dans la cryptographie symétrique
  7. C’est avec cette clé que vous allez chiffrer et déchiffrer vos échanges avec votre banque et donc communiquer de façon sécurisé

Démystifier le RGPD / GDPR (avec la CNIL)

Vous avez dû surement voir énormément de titres racoleurs sur le RGPD :

  •         “Etes-vous prêt pour le RGPD?”
  •         “Attention, le RGPD arrive! Préparez vous !”
  •         “Faites le quizz pour savoir si vous êtes conforme au RGPD”
  •         “Le TOP 10 des raisons pour se mettre au RGPD, le 4ème va vous étonner!” (Bon OK, ça je l’ai inventé)

Tout ça montre que le RGPD est un sujet qui suscite beaucoup d’interrogations. Et c’est pour cette raison qu’avec la CNIL, on a décidé de faire cette vidéo FAQ spécial RGPD pour répondre à vos questions.

 

 

 

Petit rappel du RGPD

RGPD veut dire Règlement général sur la protection des données. On voit aussi souvent le terme GDPR qui est la traduction en anglais pour General data protection Regulation.

Il s’agit du texte de référence européen en matière de protection des données personnelles pour les résidents de l’Union européenne. En gros, le RGPD va harmoniser la régulation des données personnelles  dans l’ensemble des pays de l’Union Européenne.

Et Il est applicable à partir du 25 mai 2018.

Par donnée personnelle on entend « toute information se rapportant à une personne physique identifiée ou identifiable » donc, à la fois des données de type nom, prénom, un numéro d’identification, des données de localisation, un identifiant en ligne, etc,

 

 

Q1 de Philippe par mail : Vous parlez des structures qui vont être impactées dans votre vidéo  mais il semble après avoir surfé sur le Web que toutes les entreprises ne sont pas concernées.

Pourriez-vous me dire précisément quels sont les critères qui font qu’une structure doit mener des actions en lien avec RGPD ?

La règle d’or, c’est que le RGPD s’applique à une organisation à chaque fois :

  • qu’ elle traite des données personnelles,
  • qu’un résident européen est directement visé par un traitement de données.

En d’autres termes cela veut dire que le RGPD s’applique aussi bien sur

  •  une organisation établie sur le territoire de l’Union européenne
  •  qu’une organisation hors UE qui met en œuvre des traitements pour fournir des biens et des services aux résidents européens.

Exemple : Les entreprises US comme Uber, les GAFA ou les sites de ecommerce chinois doivent donc respecter le RGPD dès lors qu’ils ciblent les résidents européens.

Le RGPD s’applique à tous les organismes quelque soit leur taille, leur secteur ou leur caractère public ou privé.

Le RGPD concerne donc :

  •         Les entreprises
  •         Les organismes publics,
  •         Les associations
  •         Ainsi que les sous-traitants dont les activités rentrent dans ce cadre

Toutes les entreprises doivent respecter le règlement.

Mais en fonction de la sensibilité des données, de leur volumétrie et des impacts des données sur le business, le travail de conformité au RGPD de l’organisation sera différent.

Exemple : Une grosse entreprise multinationale (de grande surface par exemple) qui traite de volumétrie importante de données aura des problématiques plus importantes sur la gestion et le suivi, et l’organisation interne de ses données.

Alors qu’une startup de santé qui gère peu de clients mais qui traite des données relatives à leur santé (donc avec un fort impact sur les libertés des personnes). Cette startup va avoir un plus gros travail de sécurisation des données (peu de données mais des données très sensibles)

Voici les types de données considérées comme sensibles

  • des données qui révèlent l’origine prétendument raciale ou ethnique, les opinions politiques, philosophiques ou religieuses, l’appartenance syndicale,
  • des données concernant la santé ou l’orientation sexuelle,
  • des données génétiques ou biométriques,
  •  des données d’infraction ou de condamnation pénale,

Enfin concernant les structures impactées, il faut aussi prendre en compte les sous traitants. Et c’est un grand changement du RGPD, il est à noter que les sous-traitants ont désormais une responsabilité propre et sont tenus de respecter des obligations spécifiques.

Ils ont notamment une obligation de conseil auprès du responsables de traitement (donc leur client) et doivent donc l’aider à respecter le règlement, ou encore une obligation d’assurer la sécurité des données qui leur sont confiées.

Le responsable du traitement (l’entreprise qui contracte avec le sous-traitant) n’est donc plus le seul responsable. Le sous-traitant l’est aussi.

Donc avec le RGPD, le responsable de traitement et le sous-traitant pourront être sanctionnés !

 

Q2 Quel impact aura le #RGPD pour le monde associatif ? Des infos précises au sujet de la mise en conformité de ces structures ?

Oui cela concerne les associations comme on l’a vu. Et voici plus concrètement les actions pour la mise en conformité au RGPD pour les associations.

Une petite association qui souhaite refaire son site et qui prévoit de collecter des données devra notamment prévoir des mentions d’information :

  •  informer les personnes de qui est derrière la collecte,
  •  combien de temps seront conservé les fichiers
  •  la finalité des données collectées
  •  et comment les personnes peuvent exercer leurs droits

Pour information, Vous avez même un Générateur de mentions dans les liens dans la description (qui a été fait par la CNIL pour vous aider : https://www.cnil.fr/fr/modeles/mention

Et comme l’association traite des données (un fichier d’adhérents, un fichier RH sur ses salariés…), elle devra :

  • tenir un registre des traitements de ces données.
  • être en mesure de répondre à des sollicitations d’une personne de qui on a récupéré des données à accéder à ces informations (accès, modification et droit suppression)
  • penser à prévoir des clauses sur la protection des données dans le contrat qu’elle passe avec un sous traitant.

 

Q3 Si je ne suis pas une organisation mais que je collecte des données personnel sur mon site je rentre dans le cadre de cette loi?

Cela dépend de la finalité, si c’est pour une activité exclusivement personnelle, le RGPD ne s’applique pas.

Mais si c’est dans le cadre pro et que vous tentez par exemple d’en tirer des revenus comme avec bannières publicitaires, vente de données, partenariats, etc, ça rentre dans le champ du RGPD

Autre cas, si c’est fait dans le cadre pro et même si vous ne retirez aucun bénéfice par exemple en tant que consultant d’une société X, vous donnez des conseils sur un blog pro, le RGPD s’applique

Et pour rappel, dans tous les cas, la protection de la vie privée est un  principe énoncé à l’article 9 du code civil et même dans la Charte des droits fondamentaux de l’UE et ça, ça concerne tout le monde !

 

 

Q4 : Le DPO c’est que pour les grandes entreprises ?

NON!

Toutes les organisations peuvent désigner un délégué. Dans certains cas, désigner un DPO est obligatoire.

Pour rappel, le DPO (Data protection officer) ou Délégué à la protection des données, c’est le « Chef d’orchestre » de la conformité en matière de protection des données au sein de son organisme,

Ses missions vont être  :

  • d’informer et de conseiller l’organisation, ainsi que leurs employés ;
  • de contrôler le respect du RGPD ;
  • de conseiller l’organisme sur la réalisation d’une analyse d’impact relative à la protection des données et d’en vérifier l’exécution ;
  • de coopérer avec la CNIL et d’être son point de contact privilégié

A noter que pour les petites structures (ex: startup où il y a peu personnes), il est évidemment possible de faire appel à un délégué externe, partagé avec plusieurs organismes.

Le DPO est obligatoire pour les cas suivants :

  •  Tous les organismes publics, (ex.une mairie, un ministère)
  •  Les organisations dont les activités de base exigent un suivi régulier et systématique à grande échelle des personnes concernées (ex : compagnie d’assurance, banques, publicité ciblée sur internet  exemple). Pas nécessaire pour un fleuriste
  •  Les organismes dont les activités de base les amènent à traiter à grande échelle des données dites « sensibles » (ex. un hôpital, une compagnie d’assurance, un site de rencontre).

Plus d’informations sur le DPO : https://www.cnil.fr/fr/devenir-delegue-la-protection-des-donnees

 

Q5 : Est-ce qu’il y a un label qui prouve qu’on est conforme au RGPD?

Alors, la CNIL délivre bien des labels qui sont pour l’instant que sur 4 domaines spécifiques. Oui des labels sont prévus pas le RGPD mais ce n’est pas obligatoire pour justifier qu’on est conforme au RGPD.

Pour prouver sa conformité au RGPD, le plus important est de mettre en place un certain nombre d’actions et  prouver par une documentation écrite que vous assurez une protection des données en continu. C’est ce qu’on appelle « l’accountability ». Cela revient donc à montrer comment des actions ont été mises en œuvre et à les rendre vérifiable. On pourrait le traduire en français par l’« obligation de rendre compte ».

Voici un exemple de démarches pour aller vers la conformité au RGPD

On va les séparer en 3 grandes étapes :

Pour commencer :

  • Il faudra mettre des mentions d’information sur vos formulaires. Et j’en ai déjà parlé mais j’insiste encore une fois mais il est très important d’informer de la finalité des différentes données collectées
  • mettre un formulaire de contact pour que les gens qui se souhaitent puissent accéder à l’ensemble des données qui les concernent,
  • Demander dans certains cas l’accord des personnes et leur donner la possibilité de retirer leur accord.
  • assurer, des mesures sécurité des données adaptées à la sensibilité du fichier.

Dans un second temps, il faudra :

  •  Analyser votre SI, vos fichiers et tous les documents qui contiennent des données personnelles.
  •  Vous devrez également élaborer un registre des traitements.
  •   Pensez aussi à revoir les clauses de confidentialité passées avec vos sous-traitants exemple de clause à adapter ici https://www.cnil.fr/fr/sous-traitance-exemple-de-clauses
  •  Notifiez à la CNIL les violations de données dont vous êtes victimes

Enfin, si vous traitez, par exemple, des données sensibles ou à risque ou que vous faite du tracking à grande échelle Une analyse d’impact sur la protection des données (PIA) est obligatoire car il y a un risque élevé pour les personnes concernées ! Elle vous permet d’anticiper et traiter les risques pour les droits et libertés des personnes.

 

 

Q6 Est ce que les sanctions touchent aussi les organisations publiques?

Pour rappel les sanctions du RGPD peuvent aller jusqu’à 4 % du chiffre d’affaires annuel mondial ou 20 millions d’euros.  La somme la plus importante entre les 2 est retenue.

 

Il y a une vrai nécessité pour les collectivités de prendre en compte les exigences car en cas de manquement – et outre des avertissements publics – les CNIL européennes pourront prononcer des amendes administratives allant jusqu’à 20 millions d’euros.

Enfin, il estr à noter que l’l’Etat ne peut pas recevoir de sanction financière, contrairement aux collectivités territoriales. Par contre, l’Etat peut quand même être sanctionné (avec des. sanction publiques par exemple)

 

Q7 Quel est le délai raisonnable de réponse d’un site internet pour la demande d’informations sur les données perso renseignées ?  

Délai raccourci pour les droits : meilleurs délais ! Ce qui veut dire 1 mois maximum après réception de la demande.

Prolongation possible de 2 mois mais uniquement si vous en informez la personne et que vous prouvez que la demande est complexe et nécessite un délai supplémentaire

 

Q8 Quid des délais obligatoires et réglementaires de conservation des données (paie, RH, compta, etc… ) vs droit d’effacement RGPD ?

Dans le cadre du futur règlement, les organismes doivent tenir une documentation interne complète et notamment « un registre » sur leurs traitements de données personnelles.

Un registre permet de justement de s’assurer que les différents traitements respectent bien les nouvelles obligations légales et notamment les durées de conservation.

Ce qui implique notamment de fixer des règles strictes pour déterminer :

  • Quelles données qui doivent être supprimées une fois que l’objectif est atteint ?
  • Quelles données qui doivent être conservées au titre d’obligations légales ?

Par exemple une facture doit être conservée 10 ans mais uniquement dans « vos archives intermédiaires ». En clair, les données existent toujours mais ne seront plus accessibles que par le comptable ou le service contentieux de l’entreprise.

 

Dernière partie :  les confusions

Parmi les questions qui ont été posées, j’ai vu qu’il y avait beaucoup de confusions et d’incompréhension, ou d’idées reçues du coup, je vais faire cette dernière partie pour revenir sur ça en disant ce que le RGPD n’est pas.

LE RGPD est un big bang :

RGPD ce n’est pas un big bang, le RGPD n’est pas apparu comme ça du jour au lendemain.

Pour rappel, il existait déjà la loi Informatique et libertés qui date de 1978 qui est une  loi française dont le but est de réglementer le traitement des données personnelles, c’est-à-dire préserver les libertés des personnes dans un contexte d’informatisation croissante de la société.

Depuis 1978, elle a été modifiée à plusieurs reprises pour se conformer aux directives européennes et à l’évolution des usages.

Le Règlement Général sur la Protection des Données (RGPD) vient donc renforcer la loi Informatique et libertés qui fera l’objet d’une adaptation.

RGPD : seulement des solutions techniques ?

RGPD, ce n’est pas une préconisation de solutions techniques d’anonymisation des données, de chiffrements, etc. parce qu’il y avait beaucoup de questions sur le sujet.

Le RGPD c’est un cadre pour définir ce qui est attendu en termes de protection des données personnelles des résidents européens pour que les organisations puisse s’y conformer et être sûr que ce soit le cas à différents niveaux (SI, process, documentation, etc)

En parlant de ça, on voit souvent des outils (logiciel, solution hardware) certifiés RGPD dont l’achat permet  d’être 100 % conforme au RGPD

La conformité au RGPD ne dépend pas d’une solution technique. La conformité s’obtient par un effort soutenu à tous les niveaux, combinant des mesures humaines (comme sensibiliser les utilisateurs), des mesures organisationnelles (prévoir des procédures pour gérer les incidents afin de pouvoir réagir en cas de violation de données, gérer la sous-traitance…) et des mesures techniques (comme authentifier les utilisateurs et gérer les habilitations, sécuriser les postes de travail, sécuriser les échanges avec d’autres organisations).

Et pour avoir un premier guide des chantiers à mener, vous avez le guide de sécurité de la CNIL : https://www.cnil.fr/fr/principes-cles/guide-de-la-securite-des-donnees-personnelles

Enfin, pour terminer ce post, je tiens à remercier la CNIL pour leur aide. Et ça a été un vrai plaisir de collaborer avec eux pour faire cette vidéo.

Liens utiles vers de la documentation rédigée par la CNIL pour vous aider à mieux comprendre le RGPD et se conformer au règlement :

https://www.cnil.fr/fr/principes-cles/guide-de-la-securite-des-donnees-personnelles

https://www.cnil.fr/fr/principes-cles/reglement-europeen-se-preparer-en-6-etapes

https://www.cnil.fr/fr/cartographier-vos-traitements-de-donnees-personnelles

https://www.cnil.fr/fr/outil-pia-telechargez-et-installez-le-logiciel-de-la-cnil

https://www.cnil.fr/fr/sous-traitance-exemple-de-clauses

https://www.cnil.fr/fr/modeles/mention

https://www.cnil.fr/fr/devenir-delegue-la-protection-des-donnees

 

 

 

L'architecture technique en cookies