Skip to content
This repository has been archived by the owner on Jun 11, 2024. It is now read-only.

Address collision results in public keys being overwritten #266

Closed
karmacoma opened this issue Aug 31, 2016 · 0 comments
Closed

Address collision results in public keys being overwritten #266

karmacoma opened this issue Aug 31, 2016 · 0 comments
Assignees

Comments

@karmacoma
Copy link
Contributor

karmacoma commented Aug 31, 2016

In the event of an collision where the same passphrase resolves to the same LSK address, the public key on mem_accounts is overwritten, allowing transactions to be signed from the account using either of the colliding passphrases.

Initial resolution:

  • Change the behavior of the endpoints POST /api/accounts/open and POST /api/accounts/generatePublicKey, so that new mem_accounts entries are not created for unregistered addresses.
  • Change the behavior of the endpoint: PUT /api/transactions and other endpoints for various transaction types, so that a new mem_accounts entry is created, if the account is unregistered.
  • Make the publicKeyfor each entry in mem_accounts immutable.

Further mitigations:

  • Increase address size to reduce probability of collisions.
  • Deprecate the use of addresses and use only pubic keys.
@karmacoma karmacoma self-assigned this Aug 31, 2016
@karmacoma karmacoma added this to the Mainchain Stabilisation milestone Aug 31, 2016
karmacoma pushed a commit that referenced this issue Aug 31, 2016
New accounts are no longer written to mem_accounts. Affects POST /api/accounts/open and POST /api/accounts/generatePublicKey.
karmacoma pushed a commit that referenced this issue Aug 31, 2016
Resulting from: fdd31191466e9b6a4c94d08f188fe8db81dc05e1.
karmacoma pushed a commit that referenced this issue Aug 31, 2016
Related to: b928c1804dab3f49a3e5ecdd0df1361c85550c4c.
karmacoma pushed a commit that referenced this issue Sep 9, 2016
When two passphrases collide into the same address.
karmacoma pushed a commit that referenced this issue Sep 9, 2016
karmacoma pushed a commit that referenced this issue Sep 9, 2016
Indicating whether an unconfirmed transaction sent from an account has been applied.
karmacoma pushed a commit that referenced this issue Sep 9, 2016
Making address, u_username, username, virgin, publicKey, and secondPublicKey columns immutable.
karmacoma pushed a commit that referenced this issue Sep 9, 2016
When decrementing unconfirmed balance.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant