BlockPulseNews
Définition

SIWE : définition

SIWE (Sign-In With Ethereum), standardisé par l'EIP-4361, est une méthode de connexion à un site ou à une application qui remplace le mot de passe par la signature d'un message lisible, prouvant que l'utilisateur contrôle une adresse Ethereum.

Thème : Ethereum et smart contracts

SIWE : comment ça marche ?

Avec SIWE, le site propose au portefeuille un message texte au format normalisé. On y trouve notamment le domaine qui demande la connexion, l'adresse de l'utilisateur, une phrase d'explication, l'identifiant de chaîne, un nonce aléatoire et une date d'émission. L'utilisateur signe ce message avec sa clé privée, sans effectuer de transaction ni payer de frais. Le serveur vérifie ensuite que la signature correspond bien à l'adresse indiquée, que le nonce n'a pas déjà servi et que le domaine est le sien. Si tout concorde, il ouvre une session classique. L'intérêt du format normalisé est double : les portefeuilles peuvent afficher le message de manière claire et alerter l'utilisateur si le domaine ne correspond pas au site visité.

SIWE permet ainsi de s'identifier sans créer de compte ni confier d'adresse e-mail. Le site peut ensuite lire les données publiques associées à l'adresse, comme un nom ENS ou des tokens détenus. Le standard est compatible avec les comptes de type smart contract grâce à des méthodes de vérification adaptées. Le nonce empêche de réutiliser une ancienne signature pour ouvrir une nouvelle session, et des champs optionnels permettent de fixer une durée de validité au message.

Un exemple concret

Imaginons que Sarah se rende sur un forum communautaire et clique sur « Se connecter avec Ethereum ». Son portefeuille affiche un message indiquant le domaine du forum, son adresse et une date. Elle signe, sans frais, et le forum la reconnaît immédiatement. Si un site frauduleux lui présentait un message au nom d'un autre domaine, son portefeuille pourrait l'avertir.

Les risques à connaître

Signer un message SIWE ne déplace pas de fonds, mais il faut s'assurer qu'il s'agit bien d'un message de connexion et non d'une autorisation ou d'une transaction déguisée. La vérification côté serveur doit être rigoureuse, sous peine de permettre des usurpations de session.

À ne pas confondre avec

  • EIP-712 : L'EIP-712 sert à signer des données structurées, souvent pour des autorisations, alors que SIWE définit un message texte lisible destiné à l'authentification.
  • WalletConnect : WalletConnect est un protocole qui relie un portefeuille à une application, tandis que SIWE est le format du message de connexion signé, qui peut transiter par WalletConnect.
  • DID : Les identités décentralisées portent des attestations sur une personne, alors que SIWE prouve seulement le contrôle d'une adresse.

Questions fréquentes sur SIWE

Se connecter avec SIWE coûte-t-il des frais ?

Non. Il s'agit d'une simple signature de message, qui n'est pas envoyée sur la blockchain.

Le site peut-il accéder à mes fonds après une connexion SIWE ?

Non, la signature d'un message de connexion ne donne aucun droit sur les fonds. Il faut toutefois vérifier que le message signé est bien un message de connexion.

Termes liés

Dans le même thème : Ethereum et smart contracts

Tous les termes du thème Ethereum et smart contracts →

À lire

L'actualité : Ethereum et smart contracts

Les derniers articles de BlockPulseNews sur ce sujet.

Approfondir

La fiche du projet cité

Pour aller plus loin sur les projets mentionnés dans cette définition.

Approfondir avec l'Académie : Ethereum en Profondeur Un module gratuit, en leçons courtes et quiz, pour maîtriser ce thème pas à pas.
Découvrir le module

Les autres termes en S

← Tout le lexique crypto de A à Z