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

Roadmap of GSOC 2022 #35

Open
7 of 9 tasks
cutecutecat opened this issue Sep 12, 2022 · 0 comments
Open
7 of 9 tasks

Roadmap of GSOC 2022 #35

cutecutecat opened this issue Sep 12, 2022 · 0 comments

Comments

@cutecutecat
Copy link
Contributor

cutecutecat commented Sep 12, 2022

In GSOC 2022 project, my work is to deploy DSSE and SLSA for in-toto-rs

Structure of workflow

step 1 -- Generate predicate version by argument

graph TD
A[in_toto_run] --> B[LinkMetadataBuilder]
B[LinkMetadataBuilder] --> C[MeatdataFlatten]
C[MeatdataFlatten] --> D[PredicateWrapper]
E(PredicateVer) -->|select| D[PredicateWrapper]
D[PredicateWrapper] -.->|one of four| F[None]
D[PredicateWrapper] -.->|one of four| G[Link_V02]
D[PredicateWrapper] -.->|one of four| H[SLSA_Provenance_V01]
D[PredicateWrapper] -.->|one of four| I[SLSA_Provenance_V02]
Loading

step 2 -- Generate statement version by argument

graph TD
A[in_toto_run] --> B[LinkMetadataBuilder]
B[LinkMetadataBuilder] --> C[MeatdataFlatten]
C[MeatdataFlatten] --> D[StatementWrapper]
E(StatementVer) -->|select| D[PredicateWrapper]
D[StatementWrapper] -.->|one of two| F[Statement_naive]
D[StatementWrapper] -.->|one of two| G[Statement_V01]
Loading

step3 -- Validate the predicate and statement

valid combination of predicate and statement

predicate statement description
Statement_naive None original version
Statement_V01 Link_V02 link
Statement_V01 SLSA_PROVENCE_V01 link
Statement_V01 SLSA_PROVENCE_V02 link

step 4 -- Serialize the statement

graph TD
A[StatementWrapper] -.->|one of two| B[Statement_V01]
A[StatementWrapper] -.->|one of two| C[Statement_naive]
B[Statement_V01] --> K[serde::Serialize]
B[Statement_V01] --> D[PredicateWrapper]
D[PredicateWrapper] -.->|one of four-same| E[Any Predicate]
E[Any Predicate] --> K[serde::Serialize]
C[Statement_naive] --> K[serde::Serialize]
K[serde::Serialize] --> H[json attestation]
Loading

Finished and todo feature

  • DSSE Envelope data model

  • DSSE introduced into attestion sealing

  • Link compatity data model v0.2 [Serialize+Deserialize]

  • SLSA provenance data model v0.1 [Serialize+Deserialize]

  • SLSA provenance data model v0.2 [Serialize+Deserialize]

  • SLSA introduced into attestion formatting

  • New argument in in-toto-run for switch attestion format

  • New testcase for SLSA provenance and Link provenance

  • work with rebuildered to migrate output format into SLSA

API updated

API argument update description type
in_toto_run build_id renamed from name correspond to SLSA build_id &str
in_toto_run build_type new argument correspond to SLSA build_type, necessary for SLSA format Option<&str>
in_toto_run statement_format new argument output format of attestation Option<MetaFormat>

Corresponding PR

PR description
#27 Add Pre-Authentication Encoding(pae) for DSSE
#28 Add data model EnvelopeFile for DSSE
#32 Add 3 Predicate model / 2 State models for SLSA
#36 Add callee of SLSA model
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