Open Franck-UltimaRatio opened 2 years ago
I'm not sure I completely understand this.
During the first launch, Livepeer will create a "keystore file" encrypted with a password. This password is then required when a node starts up, either entered manually (twice), or provided in the startup command/config file.
It seems that this request for livepeer to create another file, let's call it a "password file", encrypted with a second password. In this case, the second password would still be required when a node starts up.
But perhaps I misunderstood something on this. Always happy to discuss ways to help secure node operations in Livepeer Public Network.
This not the idea. You can already create an encrypted password using for exemple openssl, restrict the access to file created with chmod 600, then add a varianble in a bach to decrypt the file with an another password, but effectively this password stay clear and accessible in the batch. This idea is more at the fisrt launch, the livepeer node ask for the password then encrypt it in a file that only him can decrypt, with no external password to ask to the user. i dont know if it s something that could be done i m not developer, i just know that having the password of his wallet in a batch file is a big security hole
@Cianha
can you clarify what you mean by batch file?
one solution for this could be system-level secret storage so that the private key is never stored in plaintext (e.g. https://wiki.gnome.org/action/show/Projects/GnomeKeyring)
i mean Bash file sorry, actually the -EthPassword flag is stored (and not encrypted) in a shell script. GnomeKeyring could be a solution for sure. i ll have a look to that thanks
cc @yondonfu does this answer your question from yesterday? what does the lift look like for system-level secret storage?
not sure if this is handled by Gnomekeyring, but if you're going to startup your orchestrator with a service, it needs to point to the file that contains a password, in plain text or it would be written into the config, again in plain text. if there were some way that it could encrypt the password into a hash or something similar that is not easily accessible in case your server gets compromised would be ideal.
add the creation during the first launch of the livepeer executable of an encrypted config file containing the password of the ETH wallet used.
That will increase the security of your node's ETH Wallet and avoid to keep the wallet and its password in clear on the server's node.