1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-12 01:18:14 +00:00
Commit Graph

362 Commits

Author SHA1 Message Date
Andrew Kozlik
e385eae433 core/webauthn: Use popups for webauthn error messages instead of confirmation dialogs to simplify device testing. 2019-10-08 13:29:15 +02:00
Andrew Kozlik
8ce8916beb core/webauthn: Remove AUTOCONFIRM option. 2019-10-08 13:29:04 +02:00
Sirak Ghazaryan
8317774e06 common/defs: enable CRW (#600) 2019-10-07 14:39:37 +02:00
Tomas Susanka
29bb2dcb95
Add unit test for process_slip39 function (#601)
Add unit test for process_slip39 function
2019-10-04 21:57:37 +02:00
Tomas Susanka
74a283c271 core/recovery: small refactor in Info dialog 2019-10-04 15:21:39 +02:00
Andrew Kozlik
ba9eee3b8f core, legacy: Don't allow change_pin if device is not initialized. 2019-10-04 13:54:43 +02:00
Tomas Susanka
75dfcacc21 core/tests: add unit test for process_slip39 function
updates #542
2019-10-03 16:54:35 +02:00
Tomas Susanka
07b4f6e399 core/recovery: remove unused get/set_slip39_threshold 2019-10-03 09:57:35 +00:00
Pavol Rusnak
adbec13779
core/sd_salt: fix bug introduced in ede1a0bae3 2019-10-02 16:46:42 +00:00
Pavol Rusnak
04466402ce
core/monero: use const where possible 2019-10-02 15:45:36 +00:00
Pavol Rusnak
ed0336c0a9
core/monero: add gc.collect before large allocations in bulletproof code 2019-10-02 15:45:33 +00:00
Pavol Rusnak
5f980b50a0
core/monero: refactor bulletproof look-up-tables 2019-10-02 15:43:03 +00:00
Pavol Rusnak
ede1a0bae3
core/sd_salt: introduce _get_device_dir, _get_salt_path
prefix dialog functions with underscore
2019-10-02 15:39:42 +00:00
Pavol Rusnak
2e877b5762
core: refactor fido2 stuff into webauthn/fido2 2019-10-01 14:02:28 +00:00
matejcik
3c62db2696 stellar: fix ManageDataOp value padding 2019-10-01 15:12:37 +02:00
Andrew Kozlik
18998ff42f core/webauth: Remove "alg" parameter validation for key-agreement public keys to avoid compatibility issues. 2019-10-01 12:05:14 +02:00
Andrew Kozlik
4a81101c84 core/webauthn: Modify error handling to match fido2-tests. 2019-10-01 11:55:36 +02:00
Andrew Kozlik
9537bc40a5 core/webauthn: Use ECDH_ES_HKDF_256 instead of ES256 as the algorithm type for key-agreement keys.
ECDH_ES_HKDF_256 is the wrong type to use, since the key-agreement does not use HKDF, but ES256 is even more wrong, because it is an ECDSA type rather than an ECDH type. Currently there is no correct algorithm type defined. ES256 is used by libfido2, whereas ECDH_ES_HKDF_256 is used by Chrome, YubiKey and SoloKey, so it has the majority.
2019-09-30 19:37:46 +02:00
Andrew Kozlik
500401d81f core/webauthn: Place a 500 ms timeout on CTAP HID continuation packets. 2019-09-26 19:02:29 +02:00
Andrew Kozlik
0495d18b1e core/webauthn: Fix CTAP HID protocol to correctly handle invalid channel IDs and interleaving packets from different channels. 2019-09-26 19:02:29 +02:00
Andrew Kozlik
9ea8136545 u2f: Add keepersecurity.eu to knownapps. 2019-09-26 19:02:29 +02:00
Andrew Kozlik
e4c13b6357 u2f: Store hashes of U2F application parameters instead of pre-images. 2019-09-26 19:02:29 +02:00
Andrew Kozlik
6a33889706 common/webauthn: Add new URLs for gandi.net and Slush Pool. 2019-09-26 19:02:29 +02:00
Andrew Kozlik
528ee9ccf1 core/webauthn: Ensure user-presence option is not present in MakeCredential requests. 2019-09-26 19:02:29 +02:00
Andrew Kozlik
e341f133a3 core/webauthn: Add length checks in CTAPHID protocol. 2019-09-26 19:02:29 +02:00
Andrew Kozlik
ae70741e48 core/webauthn: Add more type checking for CBOR command parameters and return CTAP2_ERR_CBOR_UNEXPECTED_TYPE. 2019-09-26 19:02:29 +02:00
Andrew Kozlik
5ca4ed2347 core/webauth: Add _AUTOCONFIRM option for testing. 2019-09-26 19:02:29 +02:00
Andrew Kozlik
7ad1467dbf core/webauthn: Process debuglink signals in Fido2ConfirmGetAssertion. 2019-09-26 19:02:29 +02:00
Andrew Kozlik
3d91cb5c5b core/webauthn: Return ERR_MISSING_PARAMETER instead of generic error. 2019-09-26 19:02:29 +02:00
Andrew Kozlik
eaf63fff45 core/webauthn: In GetAssertion do not return user ID for server resident credentials. 2019-09-26 19:02:29 +02:00
Andrew Kozlik
f54c968039 core/webauthn: Validate U2F key handle length. 2019-09-25 21:06:36 +02:00
Andrew Kozlik
638a861137 core/webauthn: Add U2F_V2 to authenticatorGetInfo supported versions. 2019-09-25 20:00:11 +02:00
Andrew Kozlik
cf6949332f core/webauthn: Claim that PIN is set even when it's not, because login.live.com shows an error, but doesn't instruct the user to set a PIN. 2019-09-25 20:00:11 +02:00
Andrew Kozlik
5e99058832 common/webauthn: Add webauthn RP ID for google.com. 2019-09-25 19:59:59 +02:00
Pavol Rusnak
40c66e6d85
core: handle removal of non-existing PIN in require_confirm_change_pin 2019-09-25 17:35:37 +00:00
Pavol Rusnak
6c14ee7ec0
core: initialize fatfs only after we know the SD card is powered 2019-09-25 12:13:52 +02:00
Pavol Rusnak
7394ecfa77
core: add exist_ok parameter to fatfs.mkdir 2019-09-25 12:13:52 +02:00
Tomas Susanka
f53694c3fe core/recovery: rename variable and add a comment in Info button 2019-09-24 16:12:19 +02:00
Tomas Susanka
6c6bd44ee8 core/recovery: fix Info button when the threshold was reached (#566) 2019-09-24 16:10:09 +02:00
matejcik
65d2a55bff core/recovery: improve comment 2019-09-24 14:07:46 +02:00
matejcik
02ee0b63c0 core/recovery: fix type signature of _process_words 2019-09-24 14:07:08 +02:00
matejcik
1c53c2bdf2 core/recovery: allow changing word count again (fixes #554) 2019-09-24 14:04:51 +02:00
Tomas Susanka
7f959250e7
Merge pull request #563 from trezor/tsusanka/562-fix-info-btn
core/recovery: fix Info dialog
2019-09-24 13:20:14 +02:00
ciny
1337ff97b7 core: fixed confirmation screen during advanced slip39 reset flow 2019-09-24 12:11:18 +02:00
Tomas Susanka
51bf0dde12 core/recovery: fix Info dialog
closes #562
2019-09-24 11:23:29 +02:00
Pavol Rusnak
78041d261b
crypto: refactor bip39 api 2019-09-23 17:56:36 +02:00
Andrew Kozlik
524a2ac721 core: Show success dialogs in sd-protect. 2019-09-23 10:38:58 +02:00
Andrew Kozlik
a7485c0840 core: In sd-salt and webauthn error dialogs replace "X" button with "Close" button. 2019-09-23 10:38:58 +02:00
Andrew Kozlik
de74750569 core: Show success and failure dialogs in change-pin. 2019-09-23 10:38:58 +02:00
matejcik
03f1403c93 core: clean up backup type handling in reset_device 2019-09-20 18:00:14 +02:00
matejcik
78ecc38b1b core: fix BIP39 backup
Refers to #550. Not marking fixed because we need more tests.
2019-09-20 17:14:59 +02:00
Pavol Rusnak
702f865e8d
core/webauthn: let's use Self Attestation for now 2019-09-20 12:07:49 +02:00
Andrew Kozlik
576a211c3d core: Clarify the messages on the screens and get rid of overflows. 2019-09-20 12:06:32 +02:00
Tomas Susanka
bf518665a0
Merge pull request #546 from trezor/tsusanka/1of1
core: enable 1of1 in reset device
2019-09-20 10:37:37 +02:00
Tomas Susanka
e25686e079 core: enable 1of1 in reset device
updates #500
2019-09-20 10:12:33 +02:00
Tomas Susanka
871e159bee core/recovery: remove group threshold from storage 2019-09-20 09:47:15 +02:00
Tomas Susanka
6731d1bbf2 core/recovery: remove word count and backup type 2019-09-20 09:46:49 +02:00
Tomas Susanka
cf5a794436 core/storage: swap arguments in recovery_shares.set 2019-09-20 09:22:30 +02:00
Tomas Susanka
6938d2b238
Merge pull request #541 from trezor/ciny/slip39_various_fixes
core: various fixes to slip39
2019-09-20 09:20:31 +02:00
Pavol Rusnak
39a1e308a0
core/webauthn: change the default icon 2019-09-20 00:33:48 +02:00
Andrew Kozlik
9efc3b4431
core/webauthn: Use basic attestation in FIDO2 MakeCredential responses. 2019-09-19 20:28:51 +02:00
Pavol Rusnak
8da121ff5c
core+python: regenerate coins 2019-09-19 20:17:35 +02:00
matejcik
e14edd77a9 core: simplify confirm_share_words 2019-09-19 17:34:02 +02:00
matejcik
e4ac47b0b3 core: simplify fetch_slip39_remaining_shares 2019-09-19 17:27:23 +02:00
Andrew Kozlik
8024f6d069 core/storage: Rename APP_FIDO2 to APP_WEBAUTHN. 2019-09-19 17:17:22 +02:00
Pavol Rusnak
68513a0b39
Merge pull request #538 from trezor/andrewkozlik/fido2-signcount
Disable FIDO2 signature counter for some relying parties
2019-09-19 17:00:51 +02:00
ciny
cb029fa905 core: various fixes to slip39 2019-09-19 16:42:10 +02:00
Tomas Susanka
cefb1cf4fd core: refactor slip39 2019-09-19 16:38:29 +02:00
Andrew Kozlik
315a30b42b core/webauthn: Disable FIDO2 signature counter for some relying parties 2019-09-19 16:16:58 +02:00
Andrew Kozlik
f5ea81f905 core: Move some PIN-related functions to apps.common.request_pin and implement verify_user_pin(). 2019-09-18 18:55:58 +02:00
Andrew Kozlik
6350b1c61c core: Implement SD card protection. 2019-09-18 18:55:58 +02:00
Tomas Susanka
5c9fd5875a core/recovery: inform about ToS
updates #495
2019-09-18 12:26:53 +02:00
Andrew Kozlik
b89a9dc590 core: Implement credential management. 2019-09-17 18:32:31 +02:00
Andrew Kozlik
5472499326 core/webauthn: Process debuglink signals in dialogs (#519) 2019-09-13 18:34:23 +02:00
Ciny
a0180d233e
Merge pull request #494 from notatestuser/improve-binance-ux
Binance UX improvements
2019-09-13 15:05:55 +02:00
Tomas Susanka
e4c8cb1315
core: move public_key_to_wif to helpers 2019-09-13 12:55:04 +02:00
Tomas Susanka
adedb7df97
core: remove underscores in symbols used externally
closes #504
2019-09-13 12:55:04 +02:00
Andrew Kozlik
6ee1ea0fde core/webauthn: Add README.md. 2019-09-12 12:04:01 +02:00
Andrew Kozlik
26193245d4 core/webauthn: Generate random part of U2F key handles with uniform distribution. 2019-09-12 12:04:01 +02:00
Andrew Kozlik
70fe14e84c core/webauthn: Implement CTAP2 protocol for FIDO2 support. 2019-09-12 12:04:01 +02:00
Andrew Kozlik
6366f3ac0d core/storage: Implement storage of FIDO2 resident credentials. 2019-09-12 11:46:19 +02:00
Andrew Kozlik
de183849b9 core/webauthn: Implement SLIP-0022 FIDO2 credential ID format. 2019-09-12 11:46:13 +02:00
Pavol Rusnak
6ad3294f31
core: fix visibility of apps.common.device.U2F_COUNTER 2019-09-11 09:51:51 +02:00
Tomas Susanka
c66a1e7780
Merge pull request #497 from romanz/segwit-multisig
core/wallet: fix segwit multisig comment
2019-09-05 10:59:21 +02:00
Roman Zeyde
cb04f5774b core/wallet: fix segwit multisig comment 2019-09-04 13:34:30 +03:00
Luke Plaster
9c2d911dcb core: improve binance ux 2019-09-04 12:21:25 +08:00
Luke Plaster
3eff86d17b core: fix the "coin" blueprint (#488) 2019-09-03 14:47:29 +02:00
ciny
ec4dd38888 core: #482 fix binance divisibility 2019-09-03 09:12:04 +02:00
Andrew Kozlik
c1f0c642df core: cache seed without passphrase (#478) 2019-09-02 12:09:03 +02:00
TheCreator
64034c6d7d common: enable UNO (#472) 2019-09-01 09:47:58 +02:00
Roman Zeyde
680e18a4ba core/seed: add SLIP-0077 derivation to Keychain (#398)
Following #66 and #317, it would allow deriving confidential addresses and
unblinding confidential transactions' outputs.
2019-08-31 19:04:00 +02:00
Pavol Rusnak
1a71c7a3e8
common: rename Features.features to Features.capabilities 2019-08-28 15:02:30 +02:00
Jan Pochyla
34ec1ed294 core/webauthn: fix bug introduced in bb2556
Fixes #448
2019-08-28 14:27:32 +02:00
Pavol Rusnak
dde4c12796
common: add Feature.ShamirGroups to features 2019-08-28 09:25:11 +02:00
Pavol Rusnak
74bc83726c
common: add Feature.Shamir to features 2019-08-27 17:17:26 +02:00
Andrew Kozlik
90bd453d0a core: Improve Super Shamir texts. 2019-08-27 16:03:11 +02:00
Tomas Susanka
fd53c72a3c
Merge pull request #428 from trezor/ciny/super_shamir
UI for multi level Shamir reset and recovery
2019-08-27 13:22:32 +02:00
ciny
9595800158 core: store correct backup type during recovery 2019-08-27 13:10:08 +02:00
Pavol Rusnak
c815bc410c
core: remove remaning Decred/Zcash code for Bitcoin only firmware 2019-08-27 12:38:28 +02:00
ciny
81f5cbef93 core + tests: Super shamir reset and recovery UI and tests 2019-08-27 11:50:42 +02:00
matejcik
6481316ac5 core/ethereum: fix typo in wanchain detection (in template also) 2019-08-26 14:43:43 +02:00
matejcik
b0b286aafe core/ethereum: fix typo in wanchain detection
Reason it worked before: this function would fail to find a network
for wanchain, but the `network` value is only used to determine if
RSKIP60 should be used. That is almost never the case, so missing
network info did not cause an issue.
2019-08-26 14:28:05 +02:00
matejcik
2022c39ef9 core/ethereum: add support for wanchain slip44 id (#440) 2019-08-25 16:36:14 +02:00
Pavol Rusnak
9ae319211f
core: fill in Features.features 2019-08-23 13:52:14 +02:00
Pavol Rusnak
07ef01f3e4
core: introduce BITCOIN_ONLY flag 2019-08-23 13:52:10 +02:00
Ryxor
2c709ee162 common/defs: add Umbru (#433) 2019-08-23 11:59:30 +02:00
matejcik
3467cbe236 core/cardano: do not force-show homescreen 2019-08-22 18:33:13 +02:00
Jan Pochyla
2c8b90f86e core/loop: properly cleanup task waiting on a chan 2019-08-22 17:29:21 +02:00
Jan Pochyla
6d1a315b0e core/homescreen: render homescreen in a layout
FIxes a bug introduced in bb25562
2019-08-22 16:08:38 +02:00
Tomas Susanka
d0ce2b9e39 core: fix initialized to be unrelated to recovery
closes #387
2019-08-21 14:10:36 +02:00
Tomas Susanka
4323b0ac2a core: rename recovery keyboards
closes #301
2019-08-21 13:48:24 +02:00
Tomas Susanka
ba74cc2880 core: change pubkeys to List 2019-08-21 11:14:11 +02:00
Pavol Rusnak
0f6e06e1e5
common/tools: reorder coins in coin_info.py so Regtest appears at the beginning 2019-08-21 11:06:02 +02:00
Tomas Susanka
debb8ec478
Merge pull request #422 from romanz/typing
core/wallet: fix 'pubkeys' type to be list
2019-08-21 10:48:00 +02:00
Roman Zeyde
5b3427a21d core: ensure multisig (m,n) parameters are valid (#423) 2019-08-20 19:18:34 +02:00
Pavol Rusnak
1eb823be03
core: fix permissions of apps/eos source files 2019-08-20 18:08:00 +02:00
Roman Zeyde
acfd6b7771 core/wallet: fix 'pubkeys' type to be list 2019-08-20 17:55:13 +03:00
Jan Pochyla
bb2556a22c
core: improve code documentation, simplify wire package
* docs: improve loop.py, ui.init

* docs: improve trezor.loop, rename spawn to race

* docs: wire

* core/wire: simplify and document the session handler

* core/wire: improve documentation

* core/wire: improve docs

* core/docs: document ui.grid function

* core: decouple ui and workflow, document both

* core: improve docs


Co-authored-by: Tomas Susanka <tsusanka@gmail.com>
2019-08-20 16:20:02 +02:00
Roman Zeyde
588998cb85 apps/wallet: support Signify Ed25519 signatures (#348) 2019-08-19 15:20:39 +02:00
omtns
1bb77b81c0 common/defs: enable MTNS (#415) 2019-08-16 17:29:50 +02:00
Tomas Susanka
e119e8de96 core/slip39: fix UI for 33 words
closes #395
2019-08-14 11:16:15 +02:00
Tomas Susanka
1b666804c0 core/shamir: fix EMS vs MS
(cherry picked from commit cb94454618)
2019-08-13 17:25:47 +02:00
Roman Zeyde
7210a2f56d common/defs: add 'confidential_assets' section to coin definitions (#399)
Enable 'confidential_assets' for Elements (following #66 and #317) to allow
deriving confidential addresses and signing confidential transactions.

The following Python helper script was used to update the JSON files:
```
import json
import sys

for f in sys.argv[1:]:
    d = json.load(open(f))
    d["confidential_assets"] = None
    with open(f, "w") as o:
        json.dump(d, o, indent=2)
        o.write("\n")
```

Set it to `{'address_prefix': 4, 'blech32_prefix': 'el'}` for Elements.

`coins.json` and `coininfo.py` were re-generated using:
```
$ pipenv run make gen gen_check
```
2019-08-12 12:52:20 +02:00
matejcik
c285bbba7a core: dispatch DebugLinkDecisions from a common queue 2019-08-09 16:53:12 +02:00
matejcik
f680f0c0d3 core: unify NEM pager confirm with rest of codebase 2019-08-09 16:53:12 +02:00
matejcik
0890f68c0c core: use channels to give feedback over debuglink
all debug input signals are now channels, and DebugLinkDecision handler
waits until the input was consumed. This means that the input events are
queued; originally, if an input event arrived before the previous was
consumed, the previous input would be lost.

reset words and their positions are now also channels, and
DebugLinkGetState can wait for their updates, if required
2019-08-09 16:53:12 +02:00
Pavol Rusnak
e23bb10ec4
core+legacy: fix KMD signing (introduce negative_fee coin field) 2019-08-09 16:47:24 +02:00
Tomas Susanka
024f4d64af core/reset: modify confirmation sentence 2019-08-09 15:50:56 +02:00
Tomas Susanka
35ecfbcb3d build 2019-08-09 13:34:46 +02:00
Andrew Kozlik
cb7bc8f410 core: Fix mypy warnings. 2019-08-09 12:52:55 +02:00
Andrew Kozlik
1d56b8b9a1 webauthn: Add login.microsoft.com to knownapps. Add Microsoft icon. 2019-08-09 12:46:28 +02:00
Jan Pochyla
943ed73166 core/ui: remove workaround, fixed properly in c9096d9 2019-08-06 15:43:17 +02:00
Jan Pochyla
5b6fa1136a core: improve typing annotations 2019-08-06 15:42:23 +02:00
Andrew Kozlik
0a594ea1e9
Merge pull request #280 from trezor/andrewkozlik/slip-0021
Add SLIP-0021 implementation and tests.
2019-08-06 14:26:34 +02:00
Pavol Rusnak
007f3aa6de
core: use uppercase for cashaddr QR codes 2019-08-01 17:48:07 +02:00
Tomas Susanka
46c10e9402 core/shamir: end recovery mode after Success screen 2019-07-31 17:43:51 +02:00
Ciny
90b91a7fb5 #28 - binance implementation (#189)
- placeOrder, cancelOrder, transfer messages
- cli support
- unit and device tests
2019-07-31 17:02:41 +02:00
Tomas Susanka
ac2acb0b5a core: mnemonic mypy 2019-07-30 11:22:56 +02:00
Tomas Susanka
4030874c7e core: some mypy in recovery-related modules 2019-07-29 17:24:59 +02:00
Tomas Susanka
81a1b26fad core/shamir: fix texts 2019-07-29 12:51:02 +02:00
Tomas Susanka
4117f3506c core/shamir: text improvements 2019-07-26 16:51:56 +02:00
Tomas Susanka
a8c9a4ddc4 core/shamir: send boolean flag in Features that Recovery is in progress 2019-07-26 16:38:05 +02:00
Pavol Rusnak
c288514a4f
core+legacy: fix display of non-divisible OMNI amounts 2019-07-26 12:59:10 +02:00
Tomas Susanka
c735299bd0 core/backup: fix mnemonic_module to mnemonic_type 2019-07-26 12:06:00 +02:00
Andrew Kozlik
217c910b4b cardano: Implement SLIP-0023 and add SLIP-0039 support for Cardano. 2019-07-25 19:43:05 +02:00
Tomas Susanka
2b6a14cb5f core: support load device with SLIP-39
updates #356
2019-07-24 15:45:52 +02:00
Jan Pochyla
ebe883e4a9 core: support rebooting into default mode 2019-07-24 15:12:04 +02:00
Tomas Susanka
d2597d54c1 core/shamir: persistence
updates #270
2019-07-24 15:12:04 +02:00
Tomas Susanka
8f4bbb8825 core/homescreen: move err and warn to ui module 2019-07-24 12:55:12 +02:00
Tomas Susanka
539379bd55 core: alter reset_device to use enum 2019-07-22 15:43:15 +02:00