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

Issue C: Missing VSS Commitment Verification by Participants in Trusted Dealer #472

Open
mpguerra opened this issue Feb 18, 2025 · 0 comments · May be fixed by #486
Open

Issue C: Missing VSS Commitment Verification by Participants in Trusted Dealer #472

mpguerra opened this issue Feb 18, 2025 · 0 comments · May be fixed by #486

Comments

@mpguerra
Copy link
Contributor

Location

frost-client/src/trusted_dealer.rs#L64

Synopsis

The FROST demo implementation deviates from RFC 9591 by omitting the verifi cation of the VSS (Verifi able Secret Sharing) commitment. According to RFC 9591 (Appendix C), after receiving shares from the trusted dealer, participants must verify that they received the same VSS commitment.

Impact

Without the check, a compromised dealer could introduce inconsistent secret shares. This could undermine the integrity of the generated keys and, by extension, the security of the signing protocol.

While the demo’s context does not pose any risks, a production-level adaptation relying on this approach would be vulnerable to subtle but critical misconfigurations and attacks.

Severity

Medium.

Technical Details

The FROST specification in RFC 9591 (see Appendix C) requires that each participant, upon receiving their share, verify the accompanying VSS commitment. In the current implementation, the trusted dealer does not send individual messages but rather embeds the share and commitment data in the configuration files of each participant. This is acceptable in a demo setting. Nevertheless, the participant’s check should be included for demonstration purposes.

Remediation

We recommend implementing a check to verify that each participant receives the same VSS commitment in the function trusted_dealer_for_ciphersuite, after line L65. In addition, we recommend adding a code comment highlighting that this check should be performed by each participant in a production-ready application.

@mpguerra mpguerra added this to the FROST Demo Audit milestone Feb 18, 2025
@mpguerra mpguerra moved this to Sprint Backlog in FROST Feb 18, 2025
@conradoplg conradoplg linked a pull request Feb 19, 2025 that will close this issue
@mpguerra mpguerra moved this from Sprint Backlog to Review/QA in FROST Feb 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Review/QA
Development

Successfully merging a pull request may close this issue.

1 participant