DNSSEC : Nameshield passe à ECDSA

DNSSEC : Nameshield passe à ECDSA

DNSSEC est le protocole qui garantit l’intégrité de la résolution DNS en établissant une chaine de confiance jusqu’à la racine. La sécurité des données est assurée par un mécanisme de clés cryptographiques qui signent les enregistrements DNS des zones. Historiquement, les opérateurs DNS utilisent des clés de type RSA (algorithme RSASHA256), réputées pour leur robustesse.

Comme alternative à cet algorithme de cryptographie asymétrique, il existe notamment des algorithmes à courbe elliptique. Dans le cas de DNSSEC, l’algorithme « ECDSA Curve P-256 with SHA-256 » (RFC 6605 et 8624) propose notamment un niveau de sécurité supérieur avec des clés de taille plus petite.

L’algorithme ECDSA est de plus en plus implémenté par les acteurs majeurs de l’industrie des noms de domaine, comme Verisign ou encore l’AFNIC, et vise à devenir le standard.

DNSSEC : Nameshield passe à ECDSA

Cela induit plusieurs avantages par rapport à notre implémentation actuelle :

  • Signatures plus petites et fichiers de zones moins volumineux (environ -33%) ;
  • Transfert et rechargement de zones plus rapides ;
  • Amélioration des performances lors de la signature ;
  • Requêtes DNS potentiellement plus rapides (moins recours à la fragmentation d’IP) ;
  • Réduction du facteur d’amplification des attaques DDoS basées sur le DNS.

C’est pour toutes ces raisons que Nameshield a choisi d’utiliser cet algorithme par défaut pour sécuriser ses propres noms de domaine et ceux de ses clients.

SVCB/HTTPS : de nouveaux enregistrements DNS

SVCB/HTTPS : de nouveaux enregistrements DNS

Deux types nouveaux

Le DNS, système de noms de domaine, est un service essentiel au fonctionnement d’Internet. Il est souvent présenté comme un annuaire permettant d’associer des noms de domaine à des adresses IP, mais c’est en réalité qu’une petite partie de ses fonctions.

Les enregistrements DNS de types A et AAAA permettent en effet de configurer des adresses IP derrière un nom de domaine. Il existe également des dizaines d’autres types d’enregistrements DNS, utiles pour divers cas d’usage.

Deux nouveaux types d’enregistrement DNS vont prochainement être introduits par une nouvelle RFC : les types SVCB et HTTPS.

Faciliter les services et réduire la latence

Type SVCB

Le type SVCB, pour SerViCe Binding, a pour objectif d’indiquer des informations utiles sur les services disponibles avec un nom de domaine. Le format de l’enregistrement SVCB est composé d’une priorité, d’une cible et d’une liste de paramètres optionnelle. Par exemple, il permet d’indiquer que pour un service défini, un nom de domaine est en fait lié à un autre nom avec une configuration spécifique.

SVCB [SvcPriority] [TargetName] ([SvcParams]…)

Les enregistrements SVCB se différencient des SRV sur plusieurs points :

  • Les enregistrements SRV sont généralement obligatoires pour qu’un service fonctionne ; ce n’est pas le cas avec les SVCB.
  • Les enregistrements SVCB peuvent indiquer plus d’informations que les SRV, comme une version de protocole à utiliser.
  • Le type SVCB est extensible, contrairement aux SRV, ce qui ouvre la porte à diverses évolutions et usages futurs.

Type HTTPS

Le type HTTPS est un type dérivé de SVCB. Contrairement au type SVCB qui est générique, le type HTTPS est spécifique au protocole HTTPS.

Généralement, pour initier une connexion HTTPS, le client doit d’abord se connecter en HTTP afin de récupérer plusieurs informations, par exemple pour savoir quelle version utiliser ; cela génère de la latence.

L’enregistrement DNS de type HTTPS permet notamment d’indiquer au client, différents paramètres afin de faciliter la connexion au serveur, et ainsi réduire la latence. Il a la même forme qu’un enregistrement SVCB :

HTTPS [SvcPriority] [TargetName] ([SvcParams]…)

Mode alias

Les enregistrements SVCB/HTTPS proposent deux modes de fonctionnement. Un mode alias et un mode service.

Le mode alias est activé lorsque la priorité est positionnée à 0. Il permet de rediriger un nom de domaine vers un autre nom, et notamment de résoudre le fameux problème du CNAME à la racine (CNAME-at-apex).

L’enregistrement CNAME permet d’indiquer qu’un sous-domaine renvoie vers un autre nom de domaine. Il est très utile pour déléguer un service : par exemple pour faire pointer le nom www.exemple.fr vers le site web hébergé chez monsite.presta.fr.

www CNAME monsite.presta.fr

Le problème avec l’enregistrement CNAME, c’est qu’il ne peut pas être défini à la racine d’un nom. Pour contourner ce problème, des solutions non-standards sont proposées comme les enregistrements ALIAS ou ANAME, mais ces types ne sont pas supportés par tous les opérateurs DNS. Le mode alias des enregistrements SVCB/HTTPS est une solution à ce problème.

SVCB 0 nameshield.net.

HTTPS 0 nameshield.net.

Mode service

Le mode service des enregistrements SVCB/HTTPS permet d’indiquer quels services sont configurés derrière un nom de domaine. Lors de la découverte de service, cela fournit au client un certain nombre de paramètres condensés dans un seul enregistrement DNS. L’objectif est de faciliter l’utilisation de services et diminuer la latence.

Par exemple, nous pouvons avoir un enregistrement HTTPS indiquant que le client peut se connecter avec le protocole HTTP/2 ou HTTP/3 (alpn) aux adresses IPv4 et IPv6 définies (ipv4hint, ipv6hint), sur le port 8061 (port).

HTTPS 1 . alpn=”h3,h2” ipv4hint=”192.168.0.1” ipv6hint=”2001:db8::1” port=8061

Déploiement en cours

Les enregistrements SVCB/HTTPS apportent plusieurs fonctionnalités afin d’améliorer les performances du Web et répondre à la problématique du CNAME à la racine. Le fait qu’ils soient génériques et évolutifs permet d’élargir le périmètre des cas d’usage.

Bien qu’ils ne soient pas encore normés par une RFC, ces nouveaux types d’enregistrement sont déjà utilisés. Certains logiciels DNS et navigateurs Web supportent ces enregistrements, et des acteurs comme Apple, Google, Cloudflare et Nameshield les implémentent déjà.

Aujourd’hui, les services fonctionnant avec des enregistrements SVCB/HTTPS doivent également pouvoir s’en passer, car leur déploiement n’est pas encore généralisé. C’est une étape qui peut prendre plusieurs mois, le temps que la majorité des opérateurs se mettent à jour.

Source de l’image : TheDigitalArtist via Pixabay

Les noms de domaine Blockchain : des identifiants décentralisés

noms de domaine Blockchain

Depuis sa création, le Web a connu un développement incroyable et compte aujourd’hui près de 5 milliards d’utilisateurs. Il repose sur de nombreux protocoles en évolution constante, maintenus par des entreprises spécialisées. Il s’est invité dans notre vie quotidienne et ne cesse d’apporter de nouveaux services. Les entreprises construisent leur identité numérique à travers des sites Web ou encore des noms de domaine.

Depuis quelques années, de nouvelles technologies sont apparues prônant un Web plus décentralisé, le Web3, sur lequel les utilisateurs auraient plus de pouvoir sur leurs données et leur vie privée. De nouvelles formes d’actifs numériques se développent, notamment des noms de domaine d’un nouveau genre.

Les noms de domaine Blockchain

Principe

Le DNS, système de noms de domaine, est un service au cœur du fonctionnement d’Internet. Il fonctionne comme un annuaire public qui associe des noms de domaine à des ressources sur Internet, comme des sites Web, des serveurs mails et bien d’autres encore. Il est notamment régulé par l’ICANN, et maintenu par de nombreux acteurs internationaux.

Plusieurs projets développent depuis quelques années, leur propre système de nommage sur Blockchain, avec de nouveaux types de noms de domaine. Contrairement aux noms de domaine traditionnels, ils ne fonctionnent pas avec le DNS et ne sont pas régulés. Leur objectif est de proposer des solutions de nommage décentralisées et indépendantes, pour des usages spécifiques.

Sur une Blockchain, les comptes des utilisateurs sont identifiés par des adresses cryptographiques difficilement lisibles, par exemple 0x2611135d64926F8266d88Ac5B6D05BE543bF8990. Les noms de domaine sur Blockchain permettent, en premier lieu, d’associer des adresses à des noms pour faciliter leurs utilisations mais également d’associer d’autres types d’information, pour diverses fonctionnalités que nous verrons par la suite.

Noms de domaine blockchain

Ne fonctionnant pas avec le DNS, il est nécessaire d’utiliser des applications ou logiciels compatibles avec ces types de noms de domaine (navigateurs web, extensions, etc.). De plus, seul le titulaire du nom a la possibilité de le contrôler ; aucun tiers ne peut le lui retirer le contrôle.

Namecoin

(.bit)

namecoin

Né en 2011, Namecoin fut le premier système de noms de domaine développé sur une Blockchain, avec l’extension .bit. Il est basé sur le code de Bitcoin, et utilise sa propre chaîne et cryptomonnaie. Namecoin est présenté comme une technologie expérimentale qui améliore la décentralisation, la sécurité, la résistance à la censure et protège la vie privée.

Les domaines .bit n’ont pas connu un grand succès, mais restent utilisés au sein de l’écosystème Bitcoin.

Ethereum Name Service

(.eth)

Ethereum Name Service

Ethereum Name Service (ENS) est aujourd’hui le système de nommage sur Blockchain le plus populaire. Il est développé sur la Blockchain Ethereum à l’aide de smart contracts. La gouvernance du système s’organise de manière communautaire, sous forme de DAO avec son token $ENS, et est composée de milliers de membres.

ENS propose l’enregistrement de noms de domaine en .eth, représenté sous forme de tokens non fongibles (NFT). Il est également possible de lier des noms de domaine traditionnels sur ENS, afin d’exploiter les mêmes fonctionnalités qu’un nom .eth avec un nom classique. ENS se définit donc comme un système complémentaire au DNS, et non pas comme une alternative.

Aujourd’hui, on compte plus de 2,6 millions de noms enregistrés, plus de 500 000 titulaires uniques et plus de 500 applications compatibles.

Unstoppable domains

(.crypto .nft .x .wallet .bitcoin .dao .888 .zil .Blockchain)

Unstoppable Domains

Unstoppable Domains propose un système de nommage sur la Blockchain Polygon. C’est le deuxième acteur le plus populaire, avec neuf extensions disponibles. Comme sur ENS, les noms sont représentés sous forme de NFT.

On compte plus de 1,6 millions de noms enregistrés, par plus de 350 000 titulaires uniques et un peu plus de 425 applications compatibles. De plus en plus d’entreprises de l’écosystème crypto nouent des partenariats.

Handshake

(extensions de premier niveau)

Handshake

Handshake est un système de nommage fonctionnant avec sa propre Blockchain et cryptomonnaie $HNS, qui propose des extensions de premier niveau. L’entreprise a récemment été rachetée par le bureau d’enregistrement Namecheap et a également développé un résolveur DNS pour ses noms, certains opérateurs le propose à ses clients.

Namebase est la place de marché principale qui permet l’enregistrement et l’échange de noms. Les titulaires d’une extension de premier niveau peuvent créer et revendre des noms de domaine de cette même extension. L’enregistrement d’une extension de premier niveau fonctionne avec un système d’enchère, et il n’y a pas de période d’expiration. Le nombre de noms Handshake enregistrés s’élève à plus de 7 millions.

Voici les acteurs principaux et les systèmes les plus utilisés à ce jour, mais il existe des dizaines de projets de systèmes de nommage sur Blockchain. Cela reste difficile de s’y retrouver dans cet écosystème et d’identifier les projets sérieux, tout en sachant que la plupart sont en cours de développement.

Ces systèmes posent aussi des problèmes de collisions. Une collision se produit lorsque plusieurs systèmes utilisent les mêmes noms, avec la même extension. Par exemple, Unstoppable Domains est en procès avec Handshake pour le .wallet, et a récemment arrêté la commercialisation du .coin qui était déjà proposé par Emercoin.

Les cas d’usage des noms de domaine Blockchain

Enregistrement d’un nom de domaine Blockchain

Pour procéder à l’enregistrement d’un nom de domaine Blockchain, les procédures varient en fonction du système de nommage utilisé. De manière générale, il faut créer un wallet, qui va permettre de réaliser des transactions et détenir des tokens.

Lors de la création d’un wallet, des clés cryptographiques sont générées :

  • Une clé privée : permet de contrôler le portefeuille et ses actifs. Cette clé privée doit absolument rester secrète et protégée. Si elle est perdue, l’accès au portefeuille et à tous les actifs qu’il contient, dont les noms de domaine, sera définitivement perdu. La meilleure solution étant d’utiliser des hardware wallets, comme Ledger ou Trezor.
  • Une clé publique : représente l’adresse publique du portefeuille.

Pour réaliser des transactions avec ce wallet, il faut l’alimenter en cryptomonnaies. Pour cela, le plus simple est d’acheter la cryptomonnaie souhaitée sur une plateforme d’échange, puis de la transférer vers le wallet. Pour enregistrer un nom, il faut ensuite se connecter avec son wallet sur le site Web du service (ENS, Unstoppable Domains, etc.), puis réaliser la transaction. Le nom de domaine sera ensuite lié au wallet, et il sera possible de le configurer.

Noms de domaine blockchain - Enregistrement

Association avec des adresses de portefeuilles

Il est possible d’associer des adresses de portefeuilles crypto à un nom de domaine. Cela permet de pouvoir envoyer des crypto-actifs à un utilisateur en utilisant son nom de domaine à la place d’une adresse cryptographique.

Association avec un site Web décentralisé

IPFS est une technologie de stockage décentralisée, sur laquelle il est possible d’héberger des sites Web ou d’autres types de données afin de les rendre “incensurables”. Il est possible de lier un site Web décentralisé à un nom de domaine Blockchain, notamment en y associant son identifiant IPFS. Des passerelles et certains navigateurs comme Brave ou Opera permettent d’accéder facilement à ce type de contenus.

Association avec des adresses de smart contracts

Les applications décentralisées fonctionnent avec des smart contracts déployés sur une Blockchain. Ils sont également identifiés par des adresses cryptographiques, comme les comptes des utilisateurs. Associer l’adresse d’un smart contract à un nom de domaine facilite son accès et est une manière de l’authentifier.

Envoi de mails

Certains services tiers, comme Ensmail et Skiff, proposent l’utilisation de noms de domaine Blockchain pour envoyer des mails. L’adresse mail utilisée est sous la forme [nom de domaine]@ensmail.org ou [nom de domaine]@ud.me.

Association avec des éléments liés à l’identité

Il est également possible d’associer des éléments d’identité à un nom, comme des URL, des adresses mails, des liens vers des réseaux sociaux, etc.

Utilisation comme un identifiant utilisateur

Les noms de domaine Blockchain peuvent être utilisés comme des identifiants décentralisés, et deviennent alors une solution technique à l’identité auto souveraine.

Quels enjeux pour les noms de domaine Blockchain?

Identité dans de nouveaux espaces numériques

Les noms de domaine Blockchain font figure d’identifiants décentralisés dans de nouveaux espaces sur Internet. Même s’ils reprennent la même forme que les noms de domaine traditionnels, ils sont différents sur plusieurs points :

  • Côté technique : la technologie sous-jacente est différente. D’une part nous avons le DNS, réparti sur des milliers de serveurs autour du monde et maintenus par de nombreux opérateurs. Et d’autre part, nous avons des systèmes décentralisés, développés sur des Blockchain. Les performances en termes de résolution de noms ne sont pas comparables. Les serveurs DNS sont capables de répondre à des milliers de requêtes par seconde en quelques millisecondes. Pour les Blockchain, il faut interroger un nœud du réseau, via une API, ou utiliser un service tiers ; ce qui n’est pas aussi rapide et scalable.
  • Côté des usages : les noms de domaine Blockchain répondent en premier lieu à un besoin spécifique, pour associer des adresses cryptographiques à des noms facilement lisibles. Les autres cas d’usage sont également différents de ceux des noms de domaine classiques, et sont aujourd’hui très liés à l’écosystème des cryptomonnaies. De ce fait, les systèmes de nommage sur Blockchain ne sont pas directement en concurrence avec le DNS.

Impact sur le droit des marques

Avec les noms de domaine traditionnels, il existe des procédures afin de permettre aux ayants droit de récupérer des noms portant atteinte à leur marque (UDRP). Les systèmes de nommage sur Blockchain, de par leur nature décentralisée, ne proposent pas ce type de solution. Certaines places de marché ont mis en place des solutions payantes afin de désindexer des contenus de leurs plateformes, mais cela n’a pas d’impact sur la titularité des actifs numériques. D’autre part, des acteurs comme Unstoppable domains ont choisi de bloquer la réservation de noms correspondant à des marques connues, afin de les réserver aux ayants droit.

Néanmoins, le droit relatif à la propriété intellectuelle doit être respecté ; la contrefaçon et l’usurpation d’identité sont des faits répréhensibles juridiquement. La difficulté réside essentiellement dans la qualification de ces noms de domaine Blockchain et l’identification des parties prenantes. Dans le cas d’un cybersquatting d’une marque avec un nom de domaine Blockchain, plusieurs parties prenantes interviennent :

  • Le titulaire qui a enregistré délibérément le nom.
  • La plateforme ou système de nommage qui a permis cet enregistrement.
  • Les diverses places de marché qui proposent la mise en vente de ce nom.

Bien que toutes les transactions sur Blockchain soient traçables et qu’une grande partie des plateformes vérifient l’identité de leurs clients (KYC), l’identification des parties peut vite devenir laborieuse et coûteuse en cas de dépôt de plainte. La négociation avec le titulaire et le rachat du nom sont des options envisageables, mais cela contribue à la spéculation.

Du côté juridique, les noms de domaine NFT entrent aujourd’hui dans le régime des actifs numériques. En France, la loi finance a introduit en 2019 un cadre légal autour des actifs numériques, notamment avec la création du statut PSAN pour les prestataires de services. En 2023, le règlement européen MiCA devrait s‘appliquer à son tour.

Développement du Web3

Depuis plusieurs années, l’écosystème Blockchain se développe et se finance, avec l’arrivée sur le marché de nouveaux types d’actifs numériques et d’applications. Les noms de domaine Blockchain font partie du concept de Web3, prônant un Web plus décentralisé. Ils apportent des fonctionnalités intéressantes pour des cas d’usage spécifiques, mais sont aujourd’hui soumis à une spéculation excessive et de nombreux cybersquatteurs.

La proposition de valeur du Web3 est séduisante, cependant il faut rester prudent. La complexité technique de ces technologies fait apparaître de nouveaux intermédiaires. En effet, les interactions d’un utilisateur avec une Blockchain se font généralement à travers un fournisseur de services centralisé (passerelles), et donc censurable. Il faut donc porter une attention particulière sur le niveau de décentralisation réel des applications, au-delà des discours marketing.

Il est encore difficile de se projeter quant au développement des noms de domaine Blockchain dans les prochaines années. Cela dépendra de plusieurs facteurs relatifs à tout cet écosystème ; l’amélioration de l’expérience utilisateur, son adoption et sa régulation. Dans tous les cas, l’évolution de ces technologies sera passionnante à suivre.

Pour lire cet article dans son intégralité, rendez-vous sur le site de Steve DESPRES : https://cryptoms.fr/

ION : l’identité décentralisée sur Bitcoin

ION : l'identité décentralisée sur Bitcoin

L’identité numérique de demain 

L’identité est une partie intégrante du monde numérique dans lequel nous vivons. Tout individu, organisme ou ordinateur est représenté virtuellement par un ou plusieurs identifiants, liés de près ou de loin à différentes données. L’identité numérique permet de faire le lien entre une entité réelle et sa représentation virtuelle.

Que ce soit pour s’authentifier, communiquer ou utiliser un service sur le Web, nous utilisons des identifiants uniques, qui sont associés à plusieurs informations personnelles (adresses mail, pseudonymes, id aléatoires, etc.). Ces identifiants sont en général gérés par des organismes qui ont le contrôle sur nos données. Celles-ci peuvent être analysées, altérées, revendues ou encore volées, sans avoir le consentement des utilisateurs ; cela représente des menaces vis-à-vis de leurs vies privées. Il ne faut pas oublier que le business des données représente plusieurs milliards d’euros ; les utilisateurs n’ont pas toujours en tête que leurs données ont une véritable valeur.

C’est à partir de ce constat que le concept d’identité décentralisée, aussi appelée l’identité auto-souveraine (self-sovereign identity / SSI), est né.

L’identité décentralisée a pour objectif de redonner aux utilisateurs le contrôle sur leurs données, en étant au cœur du Web3. Elle s’appuie sur des identifiants décentralisés (DID), déployés sur un registre distribué. Les utilisateurs sont les seuls à pouvoir gérer leurs DID et les données qui y sont liées. Ils peuvent y associer seulement les informations qu’ils souhaitent partager.

Plusieurs acteurs développent des solutions pour mettre au point des systèmes d’identités décentralisées. Aujourd’hui nous allons nous intéresser à l’une d’entre elles : ION (Identity Overlay Network). Il s’agit d’un réseau décentralisé de gestion d’identité, basé sur Bitcoin.

Source : https://identity.foundation/ion/

SideTree : un protocole de gestion d’identifiants

En 2017, les membres de la Decentralized Identity Foundation (DIF) ont commencé à travailler sur une solution pour gérer des identifiants décentralisés, notamment en utilisant des Blockchains comme registres. L’idée étant d’inscrire des références sur une chaîne de blocs, afin qu’elles soient vérifiables et autocontrôlées par leurs titulaires. De par ses propriétés de registre décentralisé, les Blockchains répondent particulièrement au besoin. Plusieurs projets autour de l’identité décentralisée ont recours à ce type de technologie pour gérer des DID.

L’une des problématiques des Blockchains, c’est la difficulté à monter en charge : la scalabilitée. Par exemple, sur Ethereum le réseau est souvent saturé, ce qui provoque des lenteurs dans le traitement des transactions et des frais qui augmentent. D’autres Blockchains proposent de meilleures performances, mais font un compromis sur la sécurité ou la décentralisation du système. On parle du trilemme des Blockchains.

Pour qu’un système d’identité puisse fonctionner à l’échelle globale, il doit être scalable. Pour cela, il existe des solutions dites de Layer 2. Ce sont des solutions construites “au-dessus” d’une Blockchain existante, de manière à agréger plusieurs opérations en une seule transaction. Cela permet d’augmenter significativement le nombre de transactions par seconde pouvant être traitées, et donc de diminuer les frais. Ce mécanisme est notamment utilisé par le Lighning Network sur Bitcoin, et par différentes applications sur Ethereum.

Les membres de la DIF ont alors développé un protocole de Layer 2 pour gérer des identités décentralisées : SideTree. Ce protocole permet de créer un réseau sur lequel les différents nœuds sont connectés en pair-à-pair. Le protocole peut être adapté à différentes Blockchains sous-jacentes, pour offrir une certaine interopérabilité. Il est aussi important de souligner qu’il suit les préconisations du W3C par rapport aux DID et aux Vérifiable Credentials.

SideTree est construit avec plusieurs composants logiciels :

API REST : une interface pour permettre aux utilisateurs d’interagir avec le système.

SideTree Core : c’est la partie “logique” du système, qui gère les différentes opérations sur les identifiants.

Content Addressble Storage : gère le stockage des identifiants et leurs métadonnées. SideTree utilise notamment IPFS, un protocole permettant de stocker et distribuer des données de manière décentralisée. Une base de données MongoDB est également utilisée pour du stockage local.

Blockchain Adapter : permet de communiquer avec une Blockchain sous-jacente, afin d’y enregistrer des “états”.

ION : le protocole SideTree couplé à Bitcoin

Bitcoin comme layer 1

ION (Identity Overlay Network) est une implémentation du protocole SideTree basé sur Bitcoin et développé par les membres de la DIF. C’est donc un système de gestion d’identité public, décentralisé et qui n’est contrôlé par aucune organisation. Il est capable de gérer plusieurs milliers d’opérations par seconde.

SideTree a également d’autres implémentations, dont Element qui est basé sur la Blockchain Ethereum.

ION a choisi Bitcoin pour :

Sa décentralisation :

  • Le réseau est ouvert à tous
  • Les nœuds sont nombreux et décentralisés
  • Les transactions sont transparentes, vérifiables et immuables

Sa sécurité :

  • Bitcoin a montré sa résistance depuis plus de 10 ans
  • Les participants sont incités à maintenir et faire fonctionner le réseau
  • Le coût d’une attaque à 50% est extrêmement élevé, et considérée impossible

Des DID et documents

Concrètement, un identifiant sur ION ressemble à une suite de caractères unique et complexe : did:ion:EiD3DIbDgBCajj2zCkE48x74FKTV9_Dcu1u_imzZddDKfg

Ce DID il est lié à un document JSON qui contient plusieurs propriétés.

Source : https://cryptoms.fr/

L’utilisateur peut également ajouter toutes les propriétés qu’il souhaite. Il est possible d’obtenir le document à partir de l’identifiant, en effectuant une résolution. Cela peut se faire en utilisant l’API REST d’un nœud ION, ou alors en utilisant un explorateur dédié. L’idée est de pouvoir récupérer les informations associées à un DID, de la même manière que lorsqu’on récupère les adresses IP liées à des noms de domaine (DNS).

Comment ça fonctionne ?

Pour générer un DID, un utilisateur doit soit utiliser son propre nœud, soit en utiliser un disponible sur le réseau. L’opérateur du nœud doit avoir un portefeuille numérique (wallet) avec du Bitcoin, car l’opération nécessite d’effectuer une transaction. La gestion des identifiants se fait en plusieurs étapes, en ligne de commande et via une API REST; ce n’est pas trivial.

Chaque identifiant est lié à 3 paires de clés cryptographiques :

  • Clés de mise à jour
  • Clés de récupération
  • Clés de signature

Les opérations réalisées lors de la création sont inscrites dans un fichier. Ce fichier d’instructions est distribué sur IPFS, et son identifiant unique est inscrit dans une transaction Bitcoin. Les opérations simultanées sur plusieurs identifiants sont regroupées, afin d’avoir une seule transaction Bitcoin exécutée. SideTree utilise notamment des arbres de Merkel afin de structurer les états des différents identifiants, et permettre la gestion d’un grand nombre d’opérations par transaction.

Tous les autres nœuds du réseau ION observent les transactions Bitcoin et extraient celles qui correspondent au protocole ION. Ils récupèrent le fichier d’instructions sur IPFS, grâce à son identifiant unique contenu dans la transaction. Puis ils exécutent les instructions afin de se mettre à jour et contenir les derniers identifiants créés. Ainsi, le nouvel identifiant est distribué sur l’ensemble du réseau. Le temps de synchronisation peut varier ; nous n’avons pas trouvé de mesures par rapport à ce temps.

Par définition, les DID ne sont pas transférables ; l’utilisateur à l’origine d’une opération sur un DID est donc forcément le “propriétaire” et le seul à avoir le contrôle dessus avec sa clé privée. Cette propriété permet notamment de se passer d’un mécanisme de consensus lors des opérations sur les DID, car il n’y a pas de doubles dépenses possibles.

Quel avenir ?

Plusieurs cas d’usage

Le projet ION est développé par les membres de la DIF, et soutenu activement par Microsoft. L’entreprise américaine souhaite exploiter ce protocole afin de proposer de nouveaux services basés sur l’identité décentralisée.

Plusieurs cas d’usage sont possibles :

  • Les utilisateurs peuvent créer leurs DID et utiliser le système d’authentification OpenID. Ainsi, il serait possible de s’authentifier sur diverses applications, sites et services Web avec un identifiant unique et décentralisé. L’authentification sans mot de passe est possible.
  • Les utilisateurs pourraient choisir les données qu’ils souhaitent associer à leur DID et révoquer leurs accès à tout moment. Des modèles économiques pourraient être développés afin de rémunérer directement les utilisateurs en échange de leurs données.
  • Les utilisateurs peuvent gérer différentes identités avec plusieurs DID, à travers leurs portefeuilles numériques.
  • Des entreprises, écoles ou organismes peuvent générer des certificats numériques vérifiables associés à des DID. (Verifiable Credentials).
  • Les DID peuvent être associés à des noms de domaine, afin d’utiliser des noms lisibles plutôt que des adresses complexes.

Des services à développer

L’ambition de ION est de devenir un standard pour l’identité décentralisée de demain. L’ingéniosité du protocole est intéressante, et pourrait se démarquer des autres solutions concurrentes notamment grâce à l’utilisation du protocole Bitcoin. Les solutions Layer 2 sont prometteuses pour de nombreux cas d’usage, et permettent d’augmenter significativement la scalabilitée des registres décentralisés.

Cependant, aujourd’hui le protocole reste complexe à utiliser ; des outils et applications pour faciliter l’usage devront être développés. Microsoft proposera certainement des services utilisant ION, mais il faut espérer que d’autres acteurs suivront ce pas, notamment avec des “solutions finales” non-propriétaires.

De plus, les spécifications techniques recommandées pour déployer un nœud sont assez gourmandes ; cela peut représenter un coût non négligeable en termes d’hébergement. Les frais lors de l’enregistrement d’un DID sont également à la charge de l’opérateur du nœud, qui va soumettre la transaction sur le réseau. Il n’y a donc pas d’incitation économique pour déployer un nœud, mis à part pour créer un modèle économique en vendant l’enregistrement de DID à d’autres utilisateurs. À première vue, ces éléments peuvent être des freins à la décentralisation et l’adoption de ION, mais il est encore trop tôt pour l’affirmer.

De nombreux concurrents

La concurrence est rude dans le monde de l’identité numérique. D’une part, il y a les solutions d’identité proposées par des géants (Google, Facebook, Thales, etc.), qui dominent aujourd’hui le marché, d’autre part il y a les solutions d’identités souveraines poussées par les gouvernements (France Connect, Essif, etc.). En marge de ces systèmes plus ou moins centralisés, les protocoles d’identité auto-souveraine sont également nombreux. Mise à part ION, il y a également Ethereum Name Service basé sur Ethereum, Evernym, Sovrin et d’innombrables projets en cours de développement.

La réalisation d’applications concrètes et l’adoption par le grand public sont des points essentiels dans la réussite d’un projet ; le temps nous montrera lesquels feront la différence et se rendront indispensables au Web de demain.

Les sujets blockchains et crypto-actifs vous intéressent ? N’hésitez pas pour en savoir plus à consulter le site de notre expert Steve Despres : https://cryptoms.fr/

Source de l’image : TheDigitalArtist via Pixabay

Tout comprendre du Metaverse et des noms de domaine alternatifs

Tout comprendre du Metaverse et des noms de domaine alternatifs - Nameshield

Le mot « Metaverse » englobe tout ce qui est en rapport avec les mondes virtuels (3D, réalité augmentée, réalité virtuelle), et désigne une vision « future » d’Internet, avec des espaces fictifs comme des boutiques, des salons ou encore des jeux. C’est un peu le « buzzword » du moment, qui a été mis en avant par Facebook en octobre 2021, lors de l’annonce de la création d’un metaverse (Meta). Il y a bien sûr un effet de mode, toutefois plusieurs grandes marques semblent travailler sur le sujet.

De nombreux de projets ont repris le terme de « Metaverse » autour de leurs services et produits. On y retrouve des projets liés aux actifs numériques, comme les cryptomonnaies et les NFT, qui permettent de représenter et d’échanger de la valeur sur Internet. Mais également des noms de domaine alternatifs, comme le .eth, le .crypto, le .metaverse, etc. C’est également lié au concept de « web3 », qui est une vision d’un web plus décentralisé.

Concernant les noms de domaine alternatifs, il faut savoir que ce sont des extensions qui ne sont pas régulées par l’ICANN, donc non officielles. Cela explique pourquoi il n’est pas possible d’avoir les informations WHOIS. De plus, la plupart des systèmes de noms de domaine alternatifs ne fonctionnent pas avec le protocole DNS, mais sont construits sur une infrastructure Blockchain.

Voici quelques exemples :

ENS (Ethereum Name Service) : .ETH

ENS est l’un des systèmes de noms de domaine alternatifs les plus utilisés avec le .ETH. Il est construit sur la Blockchain Ethereum, via des smarts contracts, et permet d’enregistrer des noms afin d’y lier des adresses de portefeuilles crypto, de sites web ou tout autre type d’enregistrement. Un nom peut-être enregistré pendant plusieurs années, et il n’y a pas de procédures de récupération de noms pour les titulaires de marque, car c’est un projet décentralisé : le titulaire d’un nom de domaine .ETH est le seul à pouvoir le contrôler.

La procédure d’enregistrement se fait via l’utilisation d’un portefeuille Ethereum, et le paiement avec la cryptomonnaie ether ($ETH).

ENS permet également aux titulaires de noms de domaine traditionnels, d’enregistrer leurs noms sur leur système.

Unstoppable Domains : .CRYPTO, .ZIL, .COIN, .WALLET, .BITCOIN, .X, .888, .NFT, .DAO, .BLOCKCHAIN

Il s’agit là aussi d’un système de noms de domaine développé sur la Blockchain Ethereum. Il permet, comme ENS, d’enregistrer des noms de domaine avec différentes extensions. Un nom de domaine Unstoppable Domains n’expire pas et ne nécessite pas d’être renouvelé. Il existe en revanche une procédure pour les titulaires de marques.

Namebase

C’est un projet qui permet la création de toutes sortes d’extensions de premier niveau. Il est construit sur la Blockchain HNS.

Namecoin : .BIT

L’un des premier projet de noms de domaine alternatifs sur Blockchain. 

Touchcast : .METAVERSE

C’est un projet récent qui met en vente des noms en .METAVERSE. Il n’y a pas beaucoup d’informations techniques sur leur système, et leur communauté semble assez limitée au regard de leur nombre d’abonnés sur les réseaux sociaux.

D’autres projets de noms de domaine alternatifs ont également vu le jour. Il faut savoir que n’importe qui peut créer une extension non régulée par l’ICANN.

Pour les utilisateurs, il est nécessaire d’utiliser un autre moyen qu’un résolveur DNS classique pour utiliser ces extensions (extensions de navigateurs, applications dédiées, etc.).

Comme l’on pouvait s’y attendre, une forte spéculation et un cybersquatting important sont liés à ce type de noms de domaine.

Source de l’image : xresch via Pixabay

Le DNSSEC prend (enfin) son envol !

Qu'est-ce que le DNSSEC  ?

Qu’est-ce que le DNSSEC  ?

DNSSEC authentifie la résolution DNS et protège des attaques complexes telles que le DNS spoofing, le DNS cache poisonning ou encore le Side channel Attack DNS. Ces attaques, de type MITM (Man In The Middle), permettent à l’attaquant d’envoyer des réponses DNS falsifiées en lieu et place des DNS légitimes, détournant ainsi l’internaute du site web visité, en toute transparence puisque la barre d’adresse du navigateur affiche la bonne information. C’est indétectable !

Pourtant, si ce protocole efficace contre ces attaques qu’est DNSSEC existe depuis 2005, il n’a jamais été adopté massivement par le marché.

En effet, l’activation de DNSSEC passe par une gestion de clés cryptographiques pouvant s’avérer complexe : si la chaine de confiance est rompue, la résolution s’interrompt. Qui plus est, de nombreux réseaux de résolveurs DNS ne supportaient pas jusqu’à il y a peu DNSSEC. Ajoutons à cela que les services marketing des sociétés n’aiment pas l’idée d’une augmentation éventuelle du temps de résolution qui pourrait avoir un impact sur le temps de chargement de leurs pages et donc leur SEO.

L’ICANN a bien tenté de relancer DNSSEC en 2019, mais en vain : https://www.icann.org/resources/pages/dnssec-what-is-it-why-important-2019-03-20-fr

Deux éléments nouveaux viennent aujourd’hui changer la donne :

1. Les assureurs

Depuis quelques mois maintenant, de nombreuses sociétés s’interrogent à juste titre sur l’activation de DNSSEC. Pourquoi maintenant ? Parce que les assureurs estiment désormais, audits de noms de domaine réalisés par des sociétés spécialisées à l’appui, que DNSSEC est indispensable en matière de sécurité du nom de domaine. DNSSEC impacte désormais les primes d’assurances cyber risque liées au nom de domaine, soit en limitant le montant des garanties, soit en augmentant les primes d’assurance.

2. DMARC, SPF, DKIM :

L’essor actuel de DMARC (et par conséquent des enregistrement SPF et DKIM) est un élément crucial à prendre en compte. L’authentification DMARC détecte et empêche les techniques d’usurpation de courrier électronique, elle assure la protection du canal de courrier électronique au niveau du nom de domaine. Pour que DMARC soit effectif, aucune compromission de zone n’est permise et DNSSEC est le chainon manquant qui garantit l’authenticité de la zone.

Nameshield assure la gestion DNSSEC pour les noms de domaine stratégiques de nombreux clients depuis des années, que les clients disposent ou non de leur infrastructure DNS, ou qu’ils utilisent l’infrastructure de Nameshield. Nos équipes se tiennent à votre disposition pour vous accompagner.

Source image : TheDigitalArtist/Pixabay

DNS on Blockchain : la prochaine évolution des noms de domaine ?

DNS on Blockchain - Nameshield
Source de l’image : TheDigitalArtist via Pixabay

Résumé

Le DNS, système de noms de domaine, est un service au cœur du fonctionnement d’Internet. Il est fondamental pour le fonctionnement de nombreux services tels que les sites web, les serveurs mails, la téléphonie VoIP et bien d’autres.

Depuis plus de 30 ans, de nombreuses extensions et fonctionnalités ont été ajoutées au DNS, ce qui se traduit techniquement par une hausse de la complexité des infrastructures. 

La technologie Blockchain pourrait être une évolution considérable pour le DNS, en apportant plusieurs avantages et nouvelles fonctionnalités. 

_______________

Le DNS, un service fondamental

Le DNS, système de noms de domaine, est un service au cœur du fonctionnement d’Internet. Il fonctionne comme un annuaire public qui associe des noms de domaine à des ressources sur Internet, comme par exemple des adresses IP.

Lorsqu’un utilisateur saisit une adresse dans son navigateur, c’est donc un serveur DNS qui traduit cette adresse humainement compréhensible, en une adresse IP, compréhensible par les ordinateurs et les réseaux. C’est la résolution DNS.

DNS - DNS on Blockchain - Nameshield - Steve Despres

Ce système, créé en 1983, est fondamental pour le fonctionnement de nombreux services tels que les sites web, les serveurs mails, la téléphonie VoIP et bien d’autres. Il est en constante évolution pour répondre à des besoins toujours plus importants en termes de fonctionnalités et de sécurité. En effet, le DNS doit garantir : 

  • Disponibilité : une indisponibilité du service DNS entraînerait une coupure de services.
  • Intégrité : les données présentes sur le DNS (associées à un nom de domaine) ne doivent pas être corrompues.
  • Confidentialité : pour protéger la vie privée des utilisateurs, le DNS implémente différentes solutions qui permettent d’accroître la confidentialité des requêtes DNS. Si les requêtes ne sont pas confidentielles, il est possible d’analyser les informations de navigation des utilisateurs.

Le système de noms de domaine est basé sur un modèle de confiance centralisé. Il est distribué dans le monde entier et géré par différents acteurs de manière hiérarchique, en plusieurs niveaux ; un niveau racine, un premier niveau où sont gérées les extensions par les registres, puis un second niveau géré par les bureaux d’enregistrement. Le tout est orchestré par l’ICANN, l’autorité de régulation de l’Internet. 

Noms de domaine - DNS on Blockchain - Nameshield - Steve Despres

Depuis plus de 30 ans, de nombreuses extensions et fonctionnalités ont été ajoutées au DNS, ce qui se traduit techniquement par une hausse de la complexité des infrastructures. 

La technologie Blockchain pourrait être une évolution considérable pour le DNS, en apportant plusieurs avantages et nouvelles fonctionnalités. 

Blockchain et registre décentralisé

Une Blockchain est une structure de données accessible à tous et distribuée sur un réseau décentralisé ; les données sont répliquées sur chaque nœud du réseau, il n’y a pas d’autorité centrale. Tout le monde a la possibilité de lire son contenu, d’ajouter des données et même de rejoindre le réseau. Le concept a été implémenté la première fois en 2009 avec Bitcoin, mais il existe aujourd’hui de nombreuses technologies Blockchain, chacune avec des propriétés qui leur sont propres. 

Les données sont inscrites sur une Blockchain via des transactions. Les transactions sont regroupées en blocs, chaque bloc est ensuite validé par le réseau puis mis bout à bout. Ainsi, une Blockchain contient l’historique de toutes les transactions effectuées depuis sa création. 

Les règles de validation sont inscrites dans le protocole de la Blockchain, que chaque membre du réseau respecte. Pour garantir le respect de ses règles, les protocoles Blockchain s’appuient sur des algorithmes de consensus, le plus connu étant le Proof of Work. Ces algorithmes garantissent l’intégrité, l’immuabilité et la sécurité des données inscrites sur la Blockchain.

Blockchain - DNS on Blockchain - Nameshield - Steve Despres

 La technologie Blockchain répond à plusieurs besoins du DNS :

  • Disponibilité : un réseau décentralisé et pair à pair ne peut pas être arrêté. Cela pourrait remplacer ou compléter les infrastructures Anycast.  
  • Intégrité : le protocole de consensus d’une Blockchain garantit, par nature, l’intégrité des données. De plus, les données ne peuvent pas être modifiées. Ces propriétés permettraient de se passer de DNSSEC, et de sa fameuse cérémonie de renouvellement des clés
  • Confidentialité : Les requêtes effectuées pour lire les données de la Blockchain peuvent être encapsulées dans un canal HTTPS de la même manière que le protocole DNS over HTTPS (DoH). Les résolveurs DoH sont aujourd’hui peu nombreux, donc le trafic est centralisé autour d’un nombre limité d’acteurs. L’utilisation d’une Blockchain offrirait la possibilité d’interroger n’importe quel nœud du réseau, et limiterait donc ainsi la centralisation et les SPF (single point of failure). 

Les données inclues dans les fichiers de zones DNS, c’est-à-dire les configurations des noms de domaine, pourraient donc être distribuées sur une Blockchain. Chaque acteur (registres, bureaux d’enregistrement) pourrait directement interagir avec cette Blockchain pour gérer les noms de domaine. C’est l’idée du DNS on Blockchain.

De nouveaux besoins

Ces dernières années, avec l’émergence des technologies Blockchain, de nouveaux moyens d’échange de valeurs se sont développés, notamment avec la tokenisation, les crypto-actifs et les applications décentralisées (dapps); on parle de Web 3.0, ou de l’Internet de la valeur.

Moyens échange de valeurs - DNS on Blockchain - Nameshield - Steve Despres

Les portefeuilles numériques et applications décentralisées fonctionnent avec des identifiants difficilement lisibles, comme par exemple 0x483add28edbd9f83fb5db0289c7ed48c83f55982 pour une adresse de portefeuille. 

Pouvoir associer ce type d’adresse à des noms de domaine, au sein d’un système universel de nommage, pourrait avoir un réel intérêt pour les applications du Web de demain. Il serait possible d’avoir un portefeuille de cryptoactifs ou une application décentralisée configurée directement derrière un nom de domaine. Cela pourrait aussi se révéler utile pour l’identité numérique des entreprises et de leurs marques. 

DNS on Blockchain, aujourd’hui

De nombreux projets de systèmes de nommage sur Blockchain sont actuellement en cours de développement, chacun avec sa propre implémentation. 

Certaines applications proposent de nouvelles extensions de noms de domaine (TLD), comme le .bit, .zil, .crypto, .eth, etc. C’est notamment le cas de Namecoin et de UnstoppableDomains. Ces systèmes sont complètement indépendants du DNS traditionnel et de l’ICANN. L’enregistrement est directement géré par les utilisateurs, et la résolution des noms se fait en général à travers une extension de navigateur. Le navigateur Opera a récemment intégré nativement la résolution de ces noms de domaine.

Ces applications sont fonctionnelles et l’enregistrement des noms n’est pas contrôlé. Il y a donc beaucoup de cas de cybersquatting. Des utilisateurs enregistrent des noms dans l’espoir de les revendre et toucher une plus-value. Cela pose évidemment un problème pour les titulaires de marques, et empêchera certainement l’adoption de ces solutions par des entreprises. 

DNS on Blockchain - Nameshield - Steve Despres

D’autres projets proposent des solutions complémentaires au DNS. Ethereum Name Service (ENS) propose notamment un système de noms sur Blockchain qui s’intègre avec le DNS traditionnel. Si vous êtes titulaire d’un nom de domaine et pouvez le prouver avec un enregistrement DNSSEC, vous pouvez alors enregistrer ce même nom sur le service Blockchain. Cela permet de cumuler les avantages du DNS traditionnel et du DNS on Blockchain. 

Les extensions .kred, .xyz et le .luxe supportent déjà cette intégration sur Blockchain, et ENS prévoit de la proposer pour toutes les extensions compatibles DNSSEC. Ce projet est assez prometteur, Ethereum Name Service a récemment rejoint le DNS-OARC (DNS Operations, Analysis, and Research Center). 

Le projet Handshake propose quant à lui un protocole de nommage pour gérer le niveau racine du DNS, et fournir une alternative aux autorités de certification. Il remet en cause le modèle de confiance et de gouvernance du DNS, pour expérimenter un système plus décentralisé, sécurisé et résilient basé sur de la validation des zones DNS par les participants du réseau. 

Conclusion

Le DNS on Blockchain pourrait être une évolution considérable du DNS; cela apporterait plusieurs avantages et de nouvelles fonctionnalités grâce à la technologie Blockchain, ce qui profiterait au développement du web décentralisé. 

Cependant aujourd’hui, il n’y a pas encore de technologies et d’applications qui font l’unanimité, même si de nombreux projets et PoC sont en cours de développement. Ils n’ont pas encore une maturité suffisante pour être utilisés à grande échelle. Des améliorations en termes de scalabilité, de sécurité et d’usage doivent être réalisées.

La collaboration des acteurs d’Internet (ICANN, DNS-OARC, registres) semble indispensable pour qu’une technologie fasse consensus et soit adoptée, notamment pour fixer des règles communes.  C’est un sujet à suivre de près au cours des prochaines années.

Les sujets blockchains et crypto-actifs vous intéressent ? N’hésitez pas pour en savoir plus à consulter le site de notre collaborateur Steve Despres : https://cryptoms.fr/