Commit Graph

667 Commits

Author SHA1 Message Date
Jochen Hoenicke 053fe7cb66 Remove Cancel Option
U2F doesn't allow cancellation on device.

Also fix button state in protect.  This fixes the following bug:
1. wipe device
2. press and hold right button, click left button to cancel.
3. release all buttons.
4. wipe device again, now automatic.
2016-05-24 01:59:37 +02:00
Jochen Hoenicke 68b34af19e More standard conform behaviour
Tested with u2f-ref-code/u2f-tests.
Known incompatibility:
 - changed challenge invalidates button press.
2016-05-24 01:16:55 +02:00
Pavol Rusnak 27b3c63d85
cleanup usb in bootloader 2016-05-23 19:42:36 +02:00
Jochen Hoenicke a1ba431d94
Use more sensible HID descriptor 2016-05-23 19:20:21 +02:00
Jochen Hoenicke bc92fb95a5
Clear pinarea on storage_init if upgrade fails
This also cleans up the code a bit and resets storage_uuid if upgrade fails.
2016-05-20 20:13:43 +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
Jochen Hoenicke a0571e02a7 Removed more magic numbers.
`KEY_PATH_LEN`: length of the derivation path in the key handle

`KEY_PATH_ENTRIES`: number of entries in derivation path including
initial BIP-43 selector.

`KEY_HANDLE_LEN`: length of key handle (derivation path + HMAC checksum)
2016-05-18 03:05:04 +02:00
Pavol Rusnak d20671b517
handle various signed_message_headers correctly 2016-05-17 18:13:08 +02:00
Pavol Rusnak 041eaa5e4b
refactor u2f dialogs into a separate function 2016-05-16 18:58:13 +02:00
Pavol Rusnak ad2bab0186
Merge branch 'u2f' of github.com:jhoenicke/trezor-mcu into u2f 2016-05-16 18:22:03 +02:00
Pavol Rusnak c123db71b9
Merge branch 'master' into u2f 2016-05-16 18:19:31 +02:00
Pavol Rusnak 9006c90a59
use MEMSET_BZERO and U2F_APPID_SIZE macros 2016-05-16 18:18:21 +02:00
Pavol Rusnak 49691c2436
fix demo 2016-05-16 16:41:09 +02:00
Jochen Hoenicke 2ab950555e Fixed u2f reentry 2016-05-15 10:44:57 +02:00
Jochen Hoenicke eb2ef2464c CID hacks, not yet finished 2016-05-15 10:44:57 +02:00
Jochen Hoenicke 450a277f45 Only compile debugInt when debugging 2016-05-15 10:44:57 +02:00
Jochen Hoenicke 117d261a38 Script to generate key and certificate 2016-05-15 10:44:57 +02:00
Jochen Hoenicke 55fe98ccd1 Fix USB HID descriptor 2016-05-15 10:44:40 +02:00
Pavol Rusnak e1fa896d6c
disable ECIES 2016-05-12 21:09:34 +02:00
Pavol Rusnak 7201545cfc
update submodule 2016-05-12 21:05:37 +02:00
Pavol Rusnak def4a9a02c
fix pbkdf2 usage in storage.c 2016-05-12 21:05:17 +02:00
Pavol Rusnak 0e876bcec2
update submodules 2016-05-12 20:28:14 +02:00
Pavol Rusnak 008da6c089 Merge pull request #82 from jhoenicke/pinarea
Don't reflash storage after each PIN entry
2016-05-12 15:40:09 +02:00
Pavol Rusnak 87a451d9a4
update readme 2016-05-11 21:07:56 +02:00
Pavol Rusnak e27dc48a3a
add make vendor 2016-05-11 14:38:04 +02:00
Pavol Rusnak 5430c82b2b
use the latest ubuntu lts in docker build 2016-05-08 14:26:21 +02:00
Pavol Rusnak 5580305b9f Merge pull request #84 from jhoenicke/master
fix compilation
2016-04-29 22:44:10 +02:00
Jochen Hoenicke 8be6956ce9 fix compilation
updated coins datastructure to include the new fields
2016-04-29 22:36:43 +02:00
Pavol Rusnak a5feab0175
update submodules 2016-04-29 17:52:16 +02:00
Pavol Rusnak f5ea14a85f
fix bugs in debug 2016-04-29 17:06:21 +02:00
Jochen Hoenicke 6218770e26 Script to generate key and certificate 2016-04-29 16:20:54 +02:00
Jochen Hoenicke c1ff9e1ec7 Use more sensible hid descriptor. 2016-04-29 16:20:54 +02:00
Jochen Hoenicke 2abe5d477e Clean-up. Better checks for buffer overflow. 2016-04-29 16:20:54 +02:00
Jochen Hoenicke 5c13e78deb Added support for known appid. 2016-04-29 16:20:54 +02:00
Jochen Hoenicke b3bfc64d2f Use hmac for checking key integrity 2016-04-29 16:20:54 +02:00
Jochen Hoenicke 01ddb3ff66 Reduced buffer sizes, moved static info to flash 2016-04-29 16:20:54 +02:00
Jochen Hoenicke 1b8bd1852e Adapted U2F to new hdnode API 2016-04-29 16:20:54 +02:00
Jochen Hoenicke cf38291ca4 Updated branch u2f 2016-04-29 16:19:54 +02:00
Pavol Rusnak 1f3369788a
use __asm__ instead of asm 2016-04-29 16:10:41 +02:00
Pavol Rusnak b3aabec565
add -std=c99 to Makefile 2016-04-28 14:37:05 +02:00
Jochen Hoenicke 630e26dd20 use less stack memory in storage_commit 2016-04-27 19:23:02 +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
Pavol Rusnak d41e46f842 Merge pull request #81 from jhoenicke/master
Move public key recovery (verify) to trezor-crypto
2016-04-27 18:22:11 +02:00
Jochen Hoenicke e0539f8f8b Move public key recovery (verify) to trezor-crypto 2016-04-27 18:10:21 +02:00
Pavol Rusnak 5e5138066a
adapt the reorder of hash_final functions 2016-04-26 11:53:58 +02:00
Pavol Rusnak b8539a6972
fix wording 2016-04-25 23:46:36 +02:00
Pavol Rusnak 035a6e754f
fix last commit 2016-04-25 23:40:24 +02:00
Pavol Rusnak 9e8c369f93
show address in verifymessage layout 2016-04-25 23:03:57 +02:00
Jochen Hoenicke 51f02ff763
ed25519 support 2016-04-22 18:22:45 +02:00