Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide the end user a method to lockdown a wallet, secure, and obfuscate performance/burn wallet if under duress or extreme coercion. #1150

Open
argonatorUberTF opened this issue Dec 24, 2024 · 1 comment

Comments

@argonatorUberTF
Copy link

Is your feature request related to a problem? Please describe.
Prevent unauthorized access to the wallet when kidnapped or coerced on mobile wallet or desktop wallet.
Prevent remote hackers from accessing your wallet by knowing the primary recovery seed phrase.
There's not lockout or backup account pre-set to recover funds if a false password is given or a sweep and secure password is given instead.

Describe the solution you'd like
The user can define their own lockout recovery seed phrase(needs a name for it to be separate from the primary recovery seed phrase) upon wallet creation. If the password is entered incorrectly 2-3 times.
Move a pixel on the display screen to subtly let support know that the person has a locked out wallet. When support asks for a screenshot the issue is obvious. Refuse to help the user and refer them to read the documentation. Don't inform them about recovery procedures beside the original wallet seed phrase. Don't leak out the fact it's locked out. The end user should know this already.
If the app just spat out an error message that was cryptic, it might make the thugs realize that there is a lockout/recovery in process.

If a special preset pre-configured password is entered. The wallet is locked for both desktop and laptop. The nodes transmit that this wallet(address) is in lockdown so no remote attempts are possible. So if a thug beats the password out of you with a rubber hose, they think they have it and it locks the account. The end user(under duress) just give the thugs the trigger password for such an attempt at deception.
Befuddled, the attacker doesn't know about this and gives up.
Like signing your name incorrectly on a document(titles, deeds, bank paperwork) deliberately so that you can testify in court that this wasn't your legal signature with distress or duress being applied.

Also provide a way for a user to setup a backup wallet which can receive funds and lock itself until unlocked with yet another seed phrase. Encode the password entry to be triggered to sweep the contents of current wallet to the backup with a ruse password defined by the user ahead of time. Also let the nodes of the network that this was triggered and the original wallet is locked for spending. By then the sweep to backup should have appeared as a tx. Also even if the thugs enter their address, don't send it there, make it appear that it did with a bogus tx id but still sweep all to the backup wallet.

Describe alternatives you've considered
Don't carry your seed phrases, and lockout/sweep recovery phrases on your person obviously.
Don't let the robbers/coercive folk(possibly the governments) force you to unlock or spend your funds.

Additional context
Possibly include a self destruct password to be defined by the end user ahead of time to either delete the app off the phone/desktop or send the beam to a BURN address so nobody can recover your BEAM/tokens. A Pyrrhic loss, but at least the bad guys don't win either.

From chat with Maxanflaxl:
"@Maxnflaxl I have a feature request for BEAM(or whole wallet with all tokens) wallet. It's about password screen and security methods.
Does the wallet lockout if you fail to enter the password? What is the seed phrase to unlock it? Can one define a separate seed phrase so that it's not computer generated or known except for the user.
(This covers a scenario where someone accost you, robs you of your phone, forces you to unlock it and sends your BEAM after beating the password out of with a rubber hose.)
Is there a fail safe password that you can enter or give out that will automatically lock the wallet on said device?
Have it snap a few pictures, turn on mic and somehow page the police with a silent text message or phone call?

Make it look like it's unlocked, but the send button doesn't work. Put a one pixel in the corner to let support to ask to see if it's there. That way they can tell the user to recover with their seed phrase to unlock the phone. This seed phrase is separate and user define ahead of time.
Thirdly, knowing that someone could see the pixel out of place, and know about it, another password level that automatically sends beam(or whole wallet with all tokens) to the user's backup address as predefined.
Make the tx screen look legit and allow a destination address, but it actually sends the user's funds to the pre-defined backup address.

Besides the chances of someone getting kidnapped for their stuff and having both the unlock seed phrase on them is darn improbable. It thwarts theft and might even save your life. ".

@dbadol
Copy link

dbadol commented Dec 26, 2024

The best way to win is to let the enemy believe they won. It's also a good strategy to avoid/limit violence. So we should let the thief have their 1,000 Beam, while we save our 100,000 Beam.

I like the idea of the canary wallet opening upon a certain password. But to make it resistant even to people knowing that the feature exists, it needs to be completely seamless.

Thus, when the canary wallet is opened (by entering that special password), the real wallet is instantly wiped out from the device, as it never existed. The canary wallet then becomes the normal wallet and its settings even go back to saying that no canary wallet has been set up...

That way, once in it, there is no way to know if it was or not the canary wallet or the real one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants