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

[DO NOT MERGE] fix: Added signature_share_node for mitigating rogue attacks #145

Closed
wants to merge 8 commits into from

Conversation

ChaoticTempest
Copy link
Member

@ChaoticTempest ChaoticTempest commented Apr 26, 2023

addresses #120

This adds in a new signature_share_node endpoint to share the signature of the nodes signed message: NEAR. The leader node will aggregate all these signatures and send them out along side the public keys to each sign node, and each sign node will do their separate verification before accepting the public keys as true set of public keys.

Probably need to store these signatures to GCP as well, just so we can do the verification again when it gets restored, but will leave that for later if needed and if this design is good enough

Also had to change the accept_pk_set endpoint request to take in the signatures, so hopefully upgrading isn't a huge issue for partners

@volovyks volovyks changed the title fix: Added signature_share_node for mitigating rogue attacks [DO NOT MERGE] fix: Added signature_share_node for mitigating rogue attacks Apr 26, 2023
@ChaoticTempest
Copy link
Member Author

Should be good to be reviewed again. This now uses the Rogue Attack section of the math found in https://hackmd.io/-tXnfndwS4a-QLM_UvtRRw which is implemented in the multi-party-eddsa repo: DavidM-D/multi-party-eddsa#1

@ChaoticTempest
Copy link
Member Author

TODO: need to supply a not known ahead of time hash function to add_signature_parts_hashed so that each sign node can choose a hash function without the leader knowing what the hash function is

@DavidM-D
Copy link
Contributor

This seems a bit more complicated than I would have expected.

When a node says it has a key, we need it to prove it actually does by signing something with said key, that can be an empty or a constant string.

Is it possible you've been reading about rogue key attacks for threshold signatures rather than aggregate signatures?

@ChaoticTempest
Copy link
Member Author

Closing this in favor of #169

@itegulov itegulov deleted the phuong/mitigate-rogue-attack branch July 20, 2023 05:25
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 this pull request may close these issues.

2 participants