1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-16 19:38:09 +00:00
Commit Graph

36 Commits

Author SHA1 Message Date
Pavol Rusnak
fa3481e37d
firmware/storage: cache PIN after set 2018-12-12 17:37:08 +01:00
Pavol Rusnak
9749cb070b
storage: setNoBackup does not have to have parameter 2018-10-04 17:30:37 +02:00
Pavol Rusnak
4a0f0259d1
firmware: introduce seedless setup (aka no_backup) 2018-10-04 17:19:37 +02:00
Pavol Rusnak
7b4f027445
fsm: use const where applicable, document where it isn't and why 2018-09-14 14:40:29 +02:00
Pavol Rusnak
0febd07dfc
firmware: update code to use new nested messages in trezor-common 2018-07-10 17:21:11 +02:00
Pavol Rusnak
399706ae22
storage: implement unfinished_backup flag 2018-04-04 12:42:52 +02:00
Roman Zeyde
987b686f63
storage: allow auto-lock delay configuration 2018-04-04 01:06:26 +02:00
Jochen Hoenicke
068f013bc6 Force size fields in storage to be 32 bit
Better storage compatibility between 64 bit and 32 bit builds.
2018-03-29 01:16:46 +02:00
Jochen Hoenicke
0127c1a374 Add function storage_getPinWait 2018-03-29 01:16:46 +02:00
Jochen Hoenicke
c09590b54d Cleaner flash handling using FLASH_PTR
Use `FLASH_PTR` macro to convert a flash address to a const pointer.
For real hardware it is just a cast, for emulator we subtract the
`FLASH_ORIGIN` and use it as index into the memory mapped flash file.

Make write access to flash with volatile pointers

Also use FLASH_PTR in DebugMemory* for now.  This allows for reading and
writing the flash in the emulator or just crash it by reading outside
the flash...
2018-03-29 01:16:46 +02:00
Pavol Rusnak
e460c4fe17
session: rework get_state 2018-03-03 22:22:45 +01:00
Pavol Rusnak
7fa8ae136f
firmware: implement behaviour of state (still missing in PassphraseAck) 2018-02-24 17:26:57 +01:00
Saleem Rashid
045ef22d98 storage: Do not use Nanopb 2017-12-19 14:11:51 +01:00
Jochen Hoenicke
73edc7cb74 Added U2F root key to storage.
Fixes #251.
2017-12-13 17:54:27 +01:00
Pavol Rusnak
f22c849767 storage: rework storage_commit into storage_update 2017-12-12 16:28:42 +01:00
Pavol Rusnak
57bbcc754a storage: make storage accessible only via functions
add calls also for debug build and use them in fsm
2017-12-12 16:28:42 +01:00
Pavol Rusnak
18d8cb3c56
add project website (trezor.io) to license header 2017-11-05 17:47:23 +01:00
Pavol Rusnak
c778d7b9c3
storage: wipe storage after 15 wrong pins 2017-07-31 02:26:28 +02:00
Pavol Rusnak
cf04279774
implement Storage.flags and related stuff 2017-07-17 18:36:09 +02:00
Pavol Rusnak
97fa33de46
reset: show needs backup signed when storage is not backed up 2017-06-29 14:14:20 +02:00
Pavol Rusnak
73708aa47e
refactor recovery.is_same_mnemonic function to storage_containsMnemonic 2017-06-26 15:44:01 +02:00
Jochen Hoenicke
120cfc148f
new message SetU2FCounter 2016-06-12 23:44:36 +02:00
Jochen Hoenicke
8e7896456a Merge branch 'origin/master' into u2f 2016-05-26 20:58:52 +02:00
Pavol Rusnak
46119bd007
clear pin failures on wipe and when in debug mode 2016-05-20 17:00:10 +02:00
Jochen Hoenicke
96f30a0ba7 Don't ask for passphrase with u2f. 2016-05-20 01:49:20 +02:00
Pavol Rusnak
c123db71b9
Merge branch 'master' into u2f 2016-05-16 18:19:31 +02:00
Jochen Hoenicke
cf38291ca4 Updated branch u2f 2016-04-29 16:19:54 +02:00
Jochen Hoenicke
da98a3a6fd Don't reflash storage after each PIN entry
Instead of reflashing the whole storage, we use a designated area
in the second storage block, where we mark each PIN failure by a
single zero bit. This is because one can set bits in flash to zero but
not to one.  If the PIN was entered successfully the whole word is
set to zero and the next word stores the new PIN failure counter.
2016-04-27 18:39:04 +02:00
Jochen Hoenicke
56238e63fc Added curve type to HD node.
Create a different root node for every curve type to separate the key
space.
2016-04-19 18:23:12 +02:00
Mark Bryars
9328cad7f1 Add U2F support 2015-11-03 16:47:12 +01:00
Pavol Rusnak
4cbf29505d don't clear PIN on Initialize 2015-03-31 16:31:29 +02:00
Jochen Hoenicke
286ee0525c PIN handling - constant time.
This diff contains three changes.
1. Make timing isPinCorrect independent of storage.pin, to avoid timing attacks
2. Only update failed PIN counter if the user entered a PIN.
   Of course, the fail counter is still incremented, before the PIN is checked.
3. Don't cache the PIN, but just the fact that the PIN was entered.  The
   cache should be in sync with storage.pin in any case.
2015-02-22 15:42:31 +01:00
Pavol Rusnak
b5221ce2e9 introduce homescreen 2015-02-04 21:27:07 +01:00
Pavol Rusnak
961566c9b7 implement ApplySetttings.use_passphrase 2014-12-13 19:29:27 +01:00
Pavol Rusnak
441bb3b513 implement ClearSession 2014-06-17 16:03:07 +02:00
Pavol Rusnak
0d0a1ab5f2 import v1.0.0 2014-04-29 14:38:32 +02:00