Blockchain & Cybersécurité : la symbiose ?

Les apports de la Blockchain à la Cybersécurité

La Blockchain a bien plus à offrir que le simple transfert d’argent. Les bénéfices de cette technologie sont avérés et l’adoption de cette technologie est aujourd’hui incontestable, tant les cas d’usages métier sont nombreux.

Les bénéfices de la blockchain peuvent-ils s’appliquer à la cybersécurité ? En quoi la Blockchain peut-elle apporter des solutions pour sécuriser tout ou partie de nos systèmes d’information ? Et ces solutions sont-elles elles-mêmes sécurisées et exemptes de toute vulnérabilité ?

La Blockchain a initialement été créée pour transférer de l’argent de manière décentralisée, sans intermédiaire, tout en maintenant la confiance historiquement opérée par les banques. Derrière ce cas d’usage, et tous ceux qui ont découlé dans la décennie qui a suivi, se cachent des concepts techniques dont on pressent les affinités avec le monde de la cybersécurité. En quoi la Blockchain peut être un nouvel outil pour sécuriser nos systèmes d’informations ?

Les critères de sensibilité de l’information communément admis sont regroupés sus la triade CIA : Confidentiality, Integrity, Availability (Disponibilité, Intégrité et Confidentialité) :

Confidentialité : garantir que l’information est protégée et accessible sur autorisation explicite uniquement

La Blockchain, qu’elle soit publique ou privée, est pensée comme une architecture ouverte et s’appuie sur les protocoles de partage Pair-à-pair (P2P). Les transactions effectuées sont publiques afin de pouvoir être vérifiées par le consensus. En revanche, la capacité d’initier une nouvelle transaction reste restreinte au seul propriétaire du portefeuille. Cette gestion des accès repose sur des algorithmes de chiffrement asymétriques éprouvés (clés publiques / clés privées) garantissant un haut niveau de confidentialité.

Afin d’assurer une restriction d’accès aux données qui doivent rester confidentielles, le plus simple reste d’implémenter une blockchain privée (accès privé) ou hybride (accès permissionné sur une blockchain publique), sur lesquelles on pourra constituer des groupes de données et des groupes d’utilisateurs, puis implémenter des droits d’accès à l’information sur un modèle de « Contrôle d’Accès Basé sur les Rôles » (RBAC).

Cette gestion des accès n’est pas native sur les blockchains publiques : on peut par exemple l’implémenter via des protocoles supplémentaires de type « Preuve à divulgation nulle de connaissance » (ZKP), ou bien via l’utilisation de frameworks dédiés comme Pantheon (Ethereum) ou BESU (Hyperledger).

Intégrité : garantir que l’information est fiable, qu’elle n’a pas été falsifiée par malveillance ou corrompue par défaut d’implémentation

Par définition, la blockchain confère aux données un caractère immuable : toute transaction effectuée dans une blockchain est stockée de manière irréversible. Il n’est plus possible de supprimer cette information. Elle peut être amendée a posteriori, mais on conservera toujours l’historique et la trace de la modification.

Le consensus de la blockchain garantit que toute tentative de modification a posteriori serait immédiatement repérée dans le reste de la chaine et, de fait, invalidée par l’ensemble des acteurs de la blockchain.

Cette intégrité est fondée sur les signatures numériques des fonctions de hachage, est réputée inaltérable, et garantit une intégrité absolue de la donnée.

Disponibilité : garantir un accès fiable aux données, à n’importe quel moment, quel que soit l’état du réseau

La blockchain est un réseau décentralisé de nœuds connectés entre eux en maillage, sur la base du modèle pair-à-pair (P2P), où chaque acteur de la blockchain héberge, reçoit et envoie toute ou partie des données à ses pairs. L’absence de centralisation ou de point névralgique garantit que le réseau fonctionne même si une partie est indisponible ou isolée.

La robustesse de ce réseau garantit l’accès aux données, leur pérennité, mais aussi une protection face aux pannes et aux attaques de Déni de Service Distribué (DDoS).

En résumé, les données stockées sur une blockchain sont hautement disponibles.

Un quatrième critère est très souvent adjoint au triptyque CIA : la Traçabilité.

Traçabilité : garantir l’imputabilité et l’auditabilité de l’information sur la base de preuves formelles

La traçabilité est un des piliers fondamentaux de la Blockchain : toute donnée peut et doit être tracée pour être validée selon les règles du consensus. Chaque transaction peut être suivie, et son historique retracé afin de reconstituer l’état d’un compte, de n’importe quelle donnée.

Transposée aux cas d’usages métiers, cette traçabilité garantit la validité de tout actif d’entreprise présent sur une blockchain : données produits, clients, process.

Autres apports de la cybersécurité

Outre ces bénéfices fondamentaux en matière de cybersécurité, la blockchain apporte de nombreuses autres solutions spécifiques :

• LUTTE CONTRE LA FRAUDE

Toute transaction au sein d’une blockchain nécessite d’être validée par le réseau en suivant les règles du consensus, avant d’être formellement intégrée. La difficulté de validation du protocole peut être ajustée en fonction de la sécurisation que l’on souhaite garantir à la donnée. Un comportement malveillant qui ne suivrait pas les règles du consensus peut tout à fait être identifié comme tel, intercepté, et ne pas être diffusé au reste du réseau.

Les Blockchain publiques proposent des protocoles de validation souvent longs et complexes (Ex : une transaction sur Bitcoin n’est formellement validée qu’après plusieurs blocs, soit environ une heure), alors qu’une blockchain privée entre acteurs de confiance peut se permettre d’abaisser ce niveau de complexité, au profit de la vitesse de validation (Ex : consensus PBFT)

Quel que soit le protocole adopté, les transactions stockées sur une blockchain bénéficient donc de la validation du protocole, et donc d’une certification implicite favorable à la lutte contre la fraude.

• INFRASTRUCTURE DE CLES DECENTRALISEE (DPKI)

En cybersécurité, le chiffrement des données repose sur des clés. Le stockage de ces clés est un point crucial qui est historiquement adressé par des autorités centrales, organismes de confiance qui garantissent le stockage et la distribution des clés et des certificats : les PKI (Private Keys Infrastructures)

Le caractère centralisé de ces organismes crée une dépendance à des intermédiaires privés ou étatiques que l’on ne choisit pas toujours et qui imposent leur confiance au reste du réseau.

Cette centralisation présente par ailleurs un cas d’école pour les attaques de type Man in the Middle (MitM) : ARP Spoofing, IP Spoofing, DNS Spoofing, HTTPS Spoofing sont autant de méthodes exploitables pour se faire passer pour une Autorité Certifiante et délivrer des clés ou certificats corrompus (Ex : attaques sur DigiNotar).

Ce point unique de défaillance (SPOF) peut être adressé par une approche alternative décentralisée : Les Decentralized Public Key Infrastructure (DPKI). Les clés sont alors stockées dans une blockchain décentralisée qui résout le point unique de défaillance des schémas centralisés des PKI traditionnels. La Blockchain confère une haute disponibilité de ces clés et certificats, et par ailleurs offre plus de sécurité face aux attaques de MitM.

• IDENTITY & ACCESS MANAGEMENT

L’IAM est un des piliers de la cybersécurité. Les outils et solutions de l’IAM (Active Directory, Single Sign On, Revues d’accès, etc.) reposent sur des architectures centralisées qui exposent de fait un Point Unique de Défaillance.

Ce modèle est vulnérable aux attaques d’interception et manipulation des données de type MitM. On voit aussi apparaitre une certaine défiance des utilisateurs à céder leurs informations personnelles à des organismes centraux (solutions privées) ou fédérés (Google, Facebook).

Des alternatives décentralisées apparaissent afin de résoudre ces vulnérabilités et défiances : L’identité Souveraine Décentralisée (Self Sovereign Identity), portée par une blockchain, où l’utilisateur reste le seul propriétaire de ses identités numériques et accorde ou révoque les droits d’accès à ses informations à sa guise (ex : Hyperledger INDY / Sovrin).

• VOTE NUMERIQUE

Le vote numérique est un des cas d’usage idéal pour la blockchain : chaque personne peut voter individuellement via une application et grâce à sa clé privée, sans avoir à transiter par un organisme central, sans avoir à se déplacer.

La confiance est garantie par un Smart Contract automatisé qui assure l’unicité des votes, puis comptabilise automatiquement les résultats, sans intervention ni validation d’un organisme tiers. La blockchain confère la confidentialité du vote, la sécurité et la transparence des résultats. (ex : Le Vote, service de Orange).

La Blockchain est donc un outil supplémentaire à notre attirail en matière de cybersécurité. Mais cet outil est-il lui-même exempt de failles ? Bien que sécurisée par construction, la Blockchain présente-t-elle des vulnérabilités connues ? Sont-elles adressées ?

Des réponses dans la prochaine partie « La Blockchain face à ses propres enjeux de sécurité ».