selfcustody / krux

Open-source signing device firmware for Bitcoin
https://selfcustody.github.io/krux/
Other
175 stars 34 forks source link

Feature request: inconspicuous startup. #203

Open streamofstars opened 1 year ago

streamofstars commented 1 year ago

Feature request: inconspicuous startup e.g. by default, start the Krux installed wallet to a screen with fake error or run dummy feature (e.g. show camera output on screen) and allow access to actual Krux wallet only after specific key-press combination, e.g. press a button quickly 5 times in a row.

More details: It might be difficult to achieve considering this software is maybe not exactly hardware-agnostic but still, allows installation on various hardware but it would be great if the default startup behavior was, for example, to display some cryptic, fake error, or start some completely crypto-unrelated feature like e.g. for devices with camera it might start some photo taking app, etc. The actual wallet software would be accessed only after a specific key pressing sequence is executed e.g. one would have to quickly push a button 5 times or maybe start the device while holding an extra button. I don't have an exact idea in mind, the above is just a rough idea so please do not bash me for this specific example, and I definitely do not have proper knowledge on how to implement something like that but the idea is to make a device with Krux wallet installed to be inconspicuous hardware wallet. I.e. if a third party person takes the device and turns it on they must be convinced that this device is NOT a cryptocurrency hardware wallet.

Why: Imagine you are being stopped and searched by police or you are crossing an international border or taking out your electronics on a tray for x-ray at the airport and it so happens that LEOs/customs officers/airport security/whatever agents are suspicious about people carrying a lot of cash or valuables with them and they also consider cryptocurrency as such. They see a Krux-installed device and ask what is that. You answer something like it's a device for experimenting with IoT, AI camera or whatever. Then they ask you to turn it on and show it to them. With the current version of the software you are busted because upon turning it on it's obvious what it is - maybe not really to literally a random person but LEOs may have some training in recognizing money laundering, money smuggling, and so on, so there is a very small but not non-existent risk they recognize Krux. Definitely now, upon turning Krux equipped device on, the story about it being an IoT/camera something will not hold longer then 3 seconds. If we have e.g. a screen with some fake, cryptic error (some memory segfault whatever) by default, then you can always say it is an IoT/camera whatever but it's broken, I'll turn it on for you, see that, it just throws this error. Of course, this will not stop well trained agents but it simply minimizes the risk of discovering it is a hardware wallet by a random person, a thief, or poorly trained government agent.

tadeubas commented 1 year ago

Nice suggestion! We have a plan to add a game like pong, or something else, right after startup! For now we are testing some new features that are compiled and available at https://github.com/odudex/krux_binaries/

To see some of the new features available, check this discussion: https://github.com/selfcustody/krux/discussions/202

ghost commented 1 year ago

@streamofstars This is the issue being referred to https://github.com/selfcustody/krux/issues/77

It might be more "boring" than a game like pong or breakout, but I think @streamofstars' idea is better at accomplishing the goal of being discreet. Would also save on precious space.

Going to close the other issue in favor of this one.