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

Secure KES Forgetting #303

Closed
vfrsilva opened this issue Sep 9, 2022 · 1 comment
Closed

Secure KES Forgetting #303

vfrsilva opened this issue Sep 9, 2022 · 1 comment
Assignees

Comments

@vfrsilva
Copy link

vfrsilva commented Sep 9, 2022

What

Implement secure KES forgetting in the node. This task is the first part of the full Secure KES forgetting effort (followed by the KES agent task which will come in the next PI). This task will make the changes such that the node handles the keys properly. However, in this first iteration, the keys will still be saved to disk. These changes do not affect user interaction nor block validation.

Why

We use KES to provide security against long range attacks. This is a requirement by the formal analysis and proofs we have for the consensus algorithm. The current node does not safely delete KES keys, and therefore is exposed to this long range attack where an adversary is capable of stealing a bunch of KES keys from the block producers and producing a different adversarial chain. This first part of the task enable a complete solution that uses KES agents (to be defined in the next PI).

Functional requirements

  • Implement secure forgetting in the node such that keys are not stored to disk while handling the key (serialisation/deserialisation, key evolution, signature)

External dependencies

  • Node (to update the usage of the new KES handling)
  • Benchmarking, to guarantee that there is no regression in block propagation

Risks

Regression in block production (unlikely this will affect block propagation in any meaningful way)

Acceptance Criteria

We have a positive audit accepted by Charles Morgan. The current testing framework works positively. No regression

Definition of Done

The new node version uses KES with secure forgetting

Working Assumptions

  • Hard fork not required
@iquerejeta
Copy link
Collaborator

Closing in favour of #122

Repository owner moved this from 🌻 In Progress to 🪴 Curation in Cardano Node Product Backlog Sep 28, 2022
@vfrsilva vfrsilva moved this from 🪴 Curation to 🌳 Done in Cardano Node Product Backlog Sep 29, 2022
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

No branches or pull requests

3 participants