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