Resolve "Migrate clear_on_drop -> zeroize"
Closes #185 (closed)
Merge request reports
Activity
changed milestone to %v0.4 Full Mirror Node
added D-easy W-security labels
added 1 commit
- 28a8271d - [ref] use zeroize crate instead of clear_on_drop
Effacer les secrets au drop de l'"objet" est super, je n'ai pas poussé l'analyse pour voir si l'on ne garde pas une référence à l'"objet" tout au long de la vie du programme. En tout cas, mon sentiment est que ça protège des éventuels pb avec les Move et Copy que la doc de zeroize indique. Sinon, faut passer par des Pin
Dans le cas de
dunitrust keys modify ...
, les password et salt vont atterrir dans l'historique du bash de l'utilisateur. Il faudrait peut-être réfléchir à un autre moyen de récupérer les infos : fichier uniquement lisible par l'utilisateur ou champ de type password à saisir interactivement.Edited by dvermdadded S-request review label
@librelois tu peux jeter un œil stp
Dans le cas de
dunitrust keys modify ...
, les password et salt vont atterrir dans l'historique du bash de l'utilisateur.les password et salt sont déjà demandés interactivement via des champs de type password via la commande wizard.
En effet la commande modify devrait prendre uniquement le nouveau trousseau par fichier ou être supprimée, je t'invite a ouvrir un nouveau ticket pour ça :)
@dvermd en fait j'y est réfléchi et le mieux c'est de garder les sous commandes
dunitrust keys modify member
etdunitrust keys modify network
mais de supprimer les options--password
et--salt
pour les remplacées par une saisie interactive du password et du salt, tu peut reprendre le code de wizard pour faire ça, sauf qu'ici il ne fuat poser aucune question et inviter directement a saisir le salt puis le password. Aussi il serait bien d'afficher la clé publique résultante avant de rendre le prompt. Tu peut au choix, traiter cela dans la même MR ou créer un ticket séparé :)EDIT: on pourra rajouter une option
--file
a ses 2 commandes pour charger le trouseau depuis un fichier mais ça ce fera l'objet d'un autre ticket car il faut déjà définir le/les format de fichier supportés.Edited by Éloïsadded 1 commit
- 8542151a - [ref] use zeroize crate instead of clear_on_drop
- Resolved by Éloïs
@librelois, j'ai supprimé les options
--password
et--salt
et j'ai affiché les clés pour toutes les sous commandes demodify
. On se retrouve avec un code très similaire entre lewizard
et lemodify
sauf qu'un des 2 demande confirmation utilisateur. Si besoin, je peux factoriser le tout avec une optionask_confirmation
de type bool ou enum. J'attends ta décision sur la factorisation pour créer le ticket avec l'option--file
added 1 commit
- 1da6598b - [ref] use zeroize crate instead of clear_on_drop
- Resolved by Éloïs
- Resolved by Éloïs
- Resolved by Éloïs
@dvermd l'historique git est également a retravailler : il faut 2 commits différents, un pour zeroize et un pour la modif des sous commande
dunitrust keys modify
:)