Étant donné que la migration est imminente, j’essaie au maximum d’auditer ce que je peux avant. Ce soir, j’ai passé en revue l’ensemble des paramètres définis dans le fichier runtime/g1/src/parameters.rs.
J’ai ouvert une merge request afin de réaliser quelques ajustements qui me semblent nécessaires pour des raisons de sécurité :
Modifications apportées
- Réduction du
BlockLengthde 5 MiB à 3 MiB sur tous les runtimes (g1, gdev, gtest) - Augmentation de
ReportLongevityà environ 28 jours sur tous les runtimes - Rétablissement de
ChangeOwnerKeyPeriod(g1) à 6 mois au lieu de 1 mois - Ajustement de
IdtyCreationPeriod(g1) à 5 jours au lieu de 1 jour
ChangeOwnerKeyPeriod
Le paramètre ChangeOwnerKeyPeriod avait été réduit de 6 mois à 1 mois.
Cette durée pourrait faciliter la prise de contrôle définitive d’un compte membre en cas de compromission.
En cas de piratage d’un compte peu actif, un attaquant peut modifier la clé propriétaire afin de s’approprier définitivement le compte.
Le rôle principal de ChangeOwnerKeyPeriod est précisément de laisser au membre victime un délai suffisant pour :
1. constater le piratage,
2. révoquer son compte à l’aide de l’ancienne clé,
3. se faire recertifier sur un nouveau compte.
Même un utilisateur actif mensuellement ne remarquera pas nécessairement immédiatement la compromission.
S’il n’émet pas de certification et ne surveille pas précisément l’évolution de son solde pour constater l’absence de nouveaux DUs, il peut ne rien détecter.
Une fois le problème perçu, la réaction immédiate n’est généralement pas la révocation. L’utilisateur va d’abord demander de l’aide. Il faudra ensuite :
- qu’une personne compétente identifie clairement la situation,
- qu’elle explique la nécessité de la révocation,
- que l’utilisateur accepte psychologiquement de révoquer son compte.
Ce processus peut facilement prendre plusieurs mois.
Si la révocation n’intervient pas dans le délai autorisé, le membre peut se retrouver privé de compte membre pendant une durée pouvant aller jusqu’à 2 ans, le temps que ses certifications expirent, car ses certificateurs devront attendre cette expiration pour le certifier sur un nouveau compte conformément à la licence Ğ1.
Pour ces raisons, une durée de 6 mois constitue à mon sens un minimum prudent.
IdtyCreationPeriod
Le paramètre IdtyCreationPeriod est passé de 14 jours à 1 jour.
Ce paramètre devrait rester suffisamment long afin de limiter le spam de fausses demandes de création d’identité.
Dans la Ğ1 v1, il n’est possible de certifier une nouvelle personne que tous les 5 jours.
Il me semble cohérent d’aligner la fréquence maximale de création d’identité sur cette contrainte, soit une création possible tous les 5 jours.
Cela permet :
- de limiter les tentatives automatisées,
- de réduire la surface d’attaque liée aux identités éphémères,
- de conserver une cohérence avec les contraintes sociales existantes.