Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

A mnemonic generated while creating a Keycard multi-account is invalid with other wallets #9393

Closed
guylouis opened this issue Nov 4, 2019 · 7 comments · Fixed by #9407
Closed

Comments

@guylouis
Copy link
Contributor

guylouis commented Nov 4, 2019

more details in this issue #9062 closed for better clarity

Description
When user generates a new keycard multiaccount, he 's been provided by status a 12 word mnemonic

Problem
This mnemonic cannot be used to recover the multiaccount with another wallet (e.g MEW), the mnemonic is said to be invalid

Additional remark
When trying to recover the same mnemonic on the device itself without keycard, Status generates a different account whereas it should generate the same and prevent it for security reasons (see #8750). Procedure to reproduce described in #9062

@dmitryn @gravityblast @rasom

@rasom
Copy link
Contributor

rasom commented Nov 7, 2019

@guylouis before I fix this one, I want to clarify what was the reason for creation of mnemonic for pairing in the first place?

The problem is that "the wrong mnemonic" here is not a random bug, it was intentionally generated as described here. As far as I understand this mnemonic should allow to restore pairing, not private key. But well it won't work as described here, because this mnemonic does't represent master key...

And thus the question is: do we still need to show this mnemonic for pairing to the user or this code should be removed at all from the application?

@guylouis
Copy link
Contributor Author

guylouis commented Nov 7, 2019

@rasom to clarify: the mnemonic entered here should be used to represent the seed of the multiaccount, it is definitely the seed of the BIP32 account.

For now (v1), it is not used for anything related to the pairing of the card. After v1, we will think and design about how the pairing code of the card (which is today an independant value generated randomly and provided by the user) can be derived (with a derivation method to define) from this seed. The advanatge will be for th euser to not have to remember menmnonic + pairing code but only mnemonic. But this is not in the scope now.

Hope this helps.

@gravityblast don't hesitate to jump in the discussion

@gravityblast
Copy link
Member

the mnemonic should restore the master key, which is used to derive all the other private keys. the pairing password is something custom and can be generated randomly. @yenda proposed to derive the pairing password from the mnmonic, so that the user needs to remember less things. but we don't have different mnemonics, it's just one.

@rasom
Copy link
Contributor

rasom commented Nov 7, 2019

@guylouis @gravityblast got it, thanks

@guylouis
Copy link
Contributor Author

guylouis commented Nov 7, 2019

Do you know if this being closed, the app prevents to have a ODA and a KCA with the same seed ? as reproduced in #9062

@rasom
Copy link
Contributor

rasom commented Nov 8, 2019

@guylouis nope that issue is not fixed, it should be a separate task because they are unrelated

@guylouis
Copy link
Contributor Author

ok, I created #9435

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants