Once again, it's videos from BitLox.
Someone said I didn't have any videos of the Bitlox doing transactions, so I guess I'm overcompensating.
Here's one on doing transactions in the "expert" mode. I think this is cool, because you get to see and can verify all the raw hex that flows back and forth. Plus you can do your own verification before anything is sent to the network, or heck, you can turn off your network access once the transaction has been built, so that before it's signed, you're on an isolated system. Cut and paste the signed transaction then submit it any way you like after verifying.
Anyways, here's the video:
https://youtu.be/3qhFZmGsDosYou mention at the website that it is possible to set up hidden wallets on the BitLox. Is this done by using passphrases like Trezor?
A hidden wallet is set up exactly like a normal wallet. You can create a PIN for your wallet on the device via the keypad (the host only
initiates the creation of a wallet) up to 20 characters long 0-9 a-z A-Z. No sensitive data is EVER created on or transmitted from the host app.
What differs is that this wallet is
not enumerated when a wallet listing is done, it has no unencrypted part, so the wallet (if one were to examine the data block in which it sits) is indistinguishable from the random data that is used to initialize the wallet space (all 1s, all 0s, random, random, so every bit gets flipped at least once). When you create the wallet, you choose the index, a number between 51-100. The device only uses this to initialize the space, after that it has no knowledge if there is a wallet there or not.
To access a hidden wallet, you must address it directly by index, such as "load the 67th wallet".
If there is a wallet there, and the PIN is correct, it decrypts and is a usable wallet. If the PIN is incorrect OR there is no wallet there, it decrypts to gobbledygook. Same behavior for wallet there/bad PIN and no wallet actually there. Full deniability.
Brute force attacks are stopped by having a "global" counter for wallet attempts. We can't keep track of what wallet numbers were successfully loaded or not, as that might imply the existence of hidden wallets (if they are there). So if _in aggregate_ 3/5/7 bad attempts are made to load a wallet (expert/advanced/standard setup) the device immediately resets and a 45/30/15 minute delay to re-enter is imposed.
Further bad attempt cause the lockout time to grow exponentially [
edit - I just checked the code, sorry, it's the device and transaction PINs that go exponential.] (the wallet lockout times are deliberately harsh but not ridiculous, as they are reset by a correct device PIN entry).
Lockout time is evaluated BEFORE the device PIN is evaluated, so you MUST wait.
The only way around the delay is to wipe the entire device via the duress PIN "911" (which causes an immediate wipe of the wallet space) or to reflash the device.