Commit f30b120
authored
hww: add change password workflow
Currently, changing the device password requires a full device reset
and restoration from a backup. This process is cumbersome and increases
the risk of user error or seed exposure during the restoration process.
This patch introduces a native "Change Password" workflow that allows
the user to rotate their device password without resetting the device.
The workflow:
1. Forces the user to re-enter the current password for security, even
if the device is already unlocked.
2. Prompts for the new password (entered twice).
3. Re-encrypts the stored seed and BIP39 entropy with the new password
using the Secure Chip for key stretching.
The implementation ensures that the wallet identity (Root Fingerprint
and BIP39 seed) is preserved, so the device remains paired and
functional with the same accounts (including passphrase) after the
password change.1 parent 7665b7f commit f30b120
File tree
14 files changed
+494
-23
lines changed- messages
- py
- bitbox02/bitbox02
- bitbox02
- communication/generated
- src/rust/bitbox02-rust/src
- hww
- api
14 files changed
+494
-23
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
12 | 13 | | |
13 | 14 | | |
14 | 15 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
96 | 96 | | |
97 | 97 | | |
98 | 98 | | |
99 | | - | |
| 99 | + | |
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
66 | 66 | | |
67 | 67 | | |
68 | 68 | | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
69 | 69 | | |
70 | 70 | | |
71 | 71 | | |
| 72 | + | |
72 | 73 | | |
73 | 74 | | |
74 | 75 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
212 | 212 | | |
213 | 213 | | |
214 | 214 | | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| 225 | + | |
215 | 226 | | |
216 | 227 | | |
217 | 228 | | |
| |||
Lines changed: 3 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 10 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
208 | 208 | | |
209 | 209 | | |
210 | 210 | | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments