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

Collateral updater component #1104

Open
Niederb opened this issue Nov 22, 2022 · 0 comments
Open

Collateral updater component #1104

Niederb opened this issue Nov 22, 2022 · 0 comments

Comments

@Niederb
Copy link
Contributor

Niederb commented Nov 22, 2022

For the on-chain verification we need collateral information (provided by the Intel PCCS) and so we need a component that can do this on somewhat regular intervals. I see multiple options:

  • The worker can always do this on startup before sending the actual quote

    • Leads to sending a lot of duplicate information to the chain
    • How quickly can the pallet can decide that the collateral is already available?
    • We could even think about not storing the collateral on-chain at all but then we need to verify the collateral every time we register an enclave
      • Probably too much overhead
  • The worker could do it if it gets some kind of 'MISSING_COLLATERAL_ERROR`

    • Additional logic in the worker
  • There could be an independent component (inside the worker?) that does this

    • I don't think the PCCS has an API that allows to get events when the collateral data has changed
    • One way could be to check the date of the sqlite database
      • Not all PCCS setups use sqlite
      • How reliable is this? Many false positive notifications?
      • Component needs to be on the same machine as the PCCS
  • An interesting question: Can we generate an enclave quote without Intel PCCS? I think in theory this should be possible, but I'm not sure if the Intel API actually supports this.

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

1 participant