BlockPulseNews
Définition

RBAC : définition

Le RBAC (Role-Based Access Control) est un modèle de contrôle d'accès dans lequel les fonctions sensibles d'un smart contract ne peuvent être appelées que par des adresses disposant d'un rôle précis, comme administrateur, émetteur ou gestionnaire de pause.

Thème : Sécurité et arnaques

RBAC : comment ça marche ?

Un smart contract expose souvent des fonctions qui ne doivent pas être accessibles à tous : émettre de nouveaux tokens, suspendre les transferts, modifier des paramètres ou mettre à jour le code. Le modèle le plus simple confie tous ces pouvoirs à une seule adresse, le propriétaire (owner). Le RBAC affine ce schéma en créant plusieurs rôles distincts, chacun limité à certaines actions.

Chaque rôle est identifié dans le contrat, et un administrateur peut l'attribuer ou le retirer à des adresses. Une fonction protégée vérifie, avant de s'exécuter, que l'appelant détient le bon rôle. Des bibliothèques largement utilisées, comme celles d'OpenZeppelin, fournissent ce mécanisme sous une forme standardisée. L'intérêt est d'appliquer le principe du moindre privilège : une adresse chargée uniquement de suspendre le contrat en urgence ne peut pas émettre de tokens. En cas de compromission d'une clé, les dégâts sont limités au rôle concerné.

Un exemple concret

Imaginons un stablecoin dont le contrat définit trois rôles. Le rôle d'émetteur est attribué au système qui crée des tokens lors des dépôts, le rôle de pause à une équipe de sécurité, et le rôle d'administrateur à un multisig. Si la clé de l'équipe de sécurité était volée, l'attaquant pourrait suspendre les transferts, mais pas créer de nouveaux tokens.

Les risques à connaître

Des rôles mal attribués, trop larges ou oubliés après un déploiement peuvent donner un pouvoir excessif. Le rôle d'administrateur, qui gère les autres, reste un point critique ; s'il est détenu par une seule clé, tout le système en dépend. Une fonction sensible sans contrôle d'accès est l'une des failles les plus courantes.

À ne pas confondre avec

  • Clés d'admin : Le modèle owner confie tous les pouvoirs à une seule adresse, alors que le RBAC les répartit entre plusieurs rôles.
  • Multisig : Le multisig exige plusieurs signatures pour agir et peut être le détenteur d'un rôle, mais ne définit pas lui-même les rôles.
  • Circuit breaker : La pause est une fonction de sécurité, souvent protégée par un rôle RBAC spécifique.

Questions fréquentes sur RBAC

Pourquoi les smart contracts ont-ils des rôles d'administration ?

Pour permettre des opérations nécessaires comme la mise en pause en urgence ou l'émission contrôlée de tokens. Le RBAC limite chaque pouvoir à une adresse précise.

Comment savoir qui détient les rôles d'un contrat ?

Les événements d'attribution de rôles sont enregistrés sur la blockchain et consultables via un explorateur de blocs ; les audits et la documentation du projet les décrivent aussi.

Dans le même thème : Sécurité et arnaques

Tous les termes du thème Sécurité et arnaques →

À lire

L'actualité : Sécurité et arnaques

Les derniers articles de BlockPulseNews sur ce sujet.

Approfondir avec l'Académie : La Sécurité Crypto 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 R

← Tout le lexique crypto de A à Z