Skip to content

Latest commit

 

History

History
1605 lines (1354 loc) · 70.4 KB

meeting-notes-2021.md

File metadata and controls

1605 lines (1354 loc) · 70.4 KB

Notary v2 Meeting Notes 2021

tags: notary

December 29, 2021

Meeting skipped for the holidays

December 22, 2021

Meeting skipped for the holidays

December 15, 2021

Recording

Attendees:

  • Brandon Mitchell
  • Steve Lasker (Microsoft) [Chair]
  • Shiwei Zhang (Microsoft)
  • Tianon
  • Samir Kakkar (AWS)
  • Pritish Bandi (AWS)
  • add yourself

Agenda Items:

Notes:

  • meeting minutes
  • Doodle poll for new meeting time will go out
  • Incorporate PR feedback on #142, merge and incoproate feedback into the extensibility spec.
  • Cut Alpha 2 to cover extensibility, and move remaining items to Alpha 3, starting on policy
  • naming of subject/notary: considered multiple names. Concerns around jwt "sub" property
    • subjectDescriptor
    • subject
    • notary
    • descriptor
    • content
    • signed
    • naming-is-hard
    • namingIsHard
    • naming_is_hard-property
  • Landing on subject as it aligns with the artifact manifest property that we debated quite a bit around. And, it maps to the sub property in expanded form.
    • Next steps: Brandon to update the PR
  • Discussing if wildcarding needed for scoping in trust policy
  • Policies - writeup some examples of dev, staging, prod registries, and what the policies would look like
  • Next two meetings skipped for the holidays

December 8, 2021

Recording

Attendees:

  • Brandon Mitchell
  • Marina Moore [Chair]
  • Steve Lasker (Microsoft)
  • Tianon
  • Faisal Razzak
  • Shiwei Zhang (Microsoft)
  • Nate W. (CNCF)
  • Jason Hall (Red Hat)
  • Samir Kakkar (AWS)
  • Pritish Bandi (AWS)
  • Milind Gokarn (AWS)
  • add yourself

Agenda Items:

Notes:

  • Reviewed the Extensibility doc from Milind and went through the open items.
    • Discussion on versioning of notation cli and plugins interface
      • The CLI and GoLib versioning will continue as is, and will be independently released
    • Why should we keep two separate signature generation functions ?
      • There is a downside of “generate-signature” is that it wont FIPS compliant(we need seperate binary to make it FIPS).
      • Agreed to proceed with just the “generate-envelope” for now, and revisit later if “generate-signature” is needed
    • Steve brought up, a use case for signing things which are not even in a registry by using Notation. Example IoT Firmware.
    • Discussion on the need for signatureEnvelopeType, Chaining plugins
    • Brandon requested we define Verification aspects quickly, specifically in relation to certificate chaining
      • We covered the merged PR from Pritesh Bandi, on how verification will work.
  • Faisal brought up what are the signing providers we are targeting? Is there a list?
    • PKCS#11, PIV - Will these be built into Notation directly? This is TBD
    • At a high level, nothing in Notation should be cloud or vendor specific.
    • NotaryV1 supported Hardware Tokens, but perhaps never the full PKCS#11
  • Jason initiated discussion on Brandon’s hackmd doc on supporting signing without the reference API
    • Steve requested we start with requirements and definitions, and then look at solutions
      • Can we version the existing manifest, and create a new one?
      • Is cost of polluting tag justified , given that no other registry side changes are required.
    • The requirements in Brandon’s doc a good place to start solutioning from there, lets give a weight and definition to those requirements, and add any missing ones. Example - Immutable tags

December 1, 2021

Recording

Attendees:

  • Brandon Mitchell
  • Steve Lasker (Microsoft) [Chair]
  • Marina Moore (NYU)
  • Mark Grand (JFrog)
  • Shiwei Zhang (Microsoft)
  • Tianon
  • Justin Cormack (Docker)
  • Samir Kakkar (AWS) - Note taker today
  • Mahendra Reddy
  • Anish Ramasekar (Microsoft)

Agenda Items:

Notes:

  • Backwards compatibility:
    • Need to create a list of requirements in addition to possible solutions
    • Brandon and Justin will sync up on this
  • Signing/Verification Extensibility:
    • Reviewed this document : https://hackmd.io/jhYbA4aNRFW7nmp7gPTIBA?view
    • Should signing plugin also be able to verify signatures?
    • There's a need for verification only plugins
    • Most signing solutions will want to use the second method (full content), only a few cloud solutions want it pre-hashed
    • May be able to remove generate-signature since it's a subset of generate-envelope, any plugin that needs a hash can compute the hash in the plugin and send that to the external system
  • Demo of remote signing:
    • showing end to end with register plugin, sign, and verify
    • Also need to think about how plugin based signing will integrate with key distribution solutions layer (need to extract public keys via plugin)
    • Desirable to keep plugin implementation and registraction mechanism simple.
  • meeting minutes

November 24, 2021

Canceled due to Thanksgiving.

November 17, 2021

Recording

Attendees:

  • Mark Grand
  • Brandon Mitchell
  • Shiwei Zhang (Microsoft)
  • Tianon
  • Marina Moore [Chair]
  • Nate Waddington (CNCF)
  • Samir Kakkar (AWS)
  • Milind Gokarn (AWS)
  • Mahendra Reddy
  • Steve Lasker (Microsoft)
  • add yourself

Agenda Items:

Notes:

  • meeting minutes

November 10, 2021

Recording

Attendees:

  • Marina Moore (NYU)
  • Brandon Mitchell
  • Steve Lasker (Microsoft) (Chair)
  • Samir Kakkar (AWS)
  • Milind Gokarn (AWS)
  • Shiwei Zhang (Microsoft)
  • Faisal Razzak (Venafi)
  • Mark Grand (JFrog)
  • Christoph Hamsen (Connaisseur)
  • Tianon
  • add yourself

Agenda Items:

Notes:

  • Signing payload, can we minimize the registry concepts, such as knowledge of a manifest, so the offline signing service can sign content that isn't specific to registries. For things like annotations, are the name/value pairs tied to registry concepts? There isn't a hard requirement for signing content that isn't stored in a registry, just good hygene to minimize the dependencies.
  • How are signing and verifications plug-ins identified to avoid bad-verifier being installed to verify good-co signatures.
  • meeting minutes

November 3, 2021

Recording

Attendees:

  • Brandon Mitchell
  • Tianon
  • Hector Fernandez (VMware)
  • Shiwei Zhang (Microsoft)
  • add yourself

Agenda Items:

Notes:

  • meeting minutes

October 27, 2021

Recording

Attendees:

  • Steve Lasker (Microsoft)
  • Shiwei Zhang (Microsoft)
  • Marina Moore (NYU)
  • Samir Kakkar (AWS)
  • Sajay Antony (Microsoft)
  • Jason Hall (Red Hat)
  • Tianon
  • add yourself

Agenda Items:

  • Options for backwards compatibility with existing registries (Brandon)
  • Permissions/merging for tuf repository (Marina)
  • add your topics

Notes:

October 20, 2021

Recording

Attendees:

  • Tianon
  • Christoph Hamsen (Connaisseur)
  • Pritesh Bandi (AWS)
  • Brandon Mitchell
  • Shiwei Zhang (Microsoft)
  • Hector Fernandez (VMware)
  • Sajay Antony (Microsoft)
  • Steve Lasker (Microsoft)
  • Samir Kakkar (AWS)
  • add yourself

Agenda Items:

Notes:

  • Discussion on what versions we should use. Should we start with 2.0 to avoid user confusion around Notary v1? We're also wanting to keep alpha-1 labes on the versions to indicate it's not ready for production, and the alpha-[n] label indicates the compatibility across notation, notation-go-lib, notaryproject specs, and the dependencies on oras for registry push|discover|pull
  • Ask to include what's in and not in a particular release, based on the requirements. This would help consumers understand what is/isn't in a partiuclar release, and what's coming in the future. For example, revocation, policy.
  • meeting minutes

October 13, 2021

Recording

Attendees:

  • Tianon
  • Shiwei Zhang (Microsoft)
  • Brandon Mitchell
  • Steve Lasker (Microsoft)
  • Nate W. (CNCF)
  • Serge Hallyn (Cisco)
  • Christoph Hamsen (Connaisseur)
  • Pritesh Bandi (AWS)
  • Samir Kakkar (AWS)
  • add yourself

Agenda Items:

Notes:

  • meeting minutes

September 29, 2021

Recording

Attendees:

  • Steve Lasker (Microsoft)
  • Shiwei Zhang (Microsoft)
  • Nate W. (CNCF)
  • Samir Kakkar (AWS)
  • Marina Moore (NYU)
  • Milind Gokarn (AWS)
  • Brandon Mitchell
  • Pritesh Bandi (AWS)
  • Hector Fernandez (VMware)
  • Serge Hallyn (Cisco)
  • add yourself

Agenda Items:

Notes:

  • Alpha-1 release should include merged PRs into the notaryproject specs that another implementation could create their own alpha-1 release without looking at notation code and libraries. -Brandon
  • Alpha-2 might be a good place to target integration with the tuf-notary work. -Marina
  • meeting minutes

September 22, 2021

Recording

Attendees:

  • Steve Lasker (Microsoft)
  • Shiwei Zhang (Microsoft)
  • Tianon
  • Justin Cormack (Docker)
  • Nate Waddington (CNCF)
  • Brandon Mitchell
  • Miloslav Trmač (Red Hat)
  • Sajay Antony
  • Hector Fernandez (VMware)
  • Serge Hallyn (Cisco)
  • Samir Kakkar (AWS)
  • Milind Gokarn (AWS)
  • add yourself

Agenda Items:

Notes:

  • Docs
    • Discussion on Option 1 and 2. The main issue around 2 has been permissions. We can solve that through github permissions
    • Leaning into the SME principal, the doc expert has shown how docs in a common location (option 2) has worked with other projects (etcd), we should lean into it here.
    • There are additional localization and versioning reasons to have in a single repo.
    • Action item is to add to the contributing guidance for how docs are managed
    • Additional action item: to bring the Documentation project board to the notaryproject org top level
  • meeting minutes

September 15, 2021

Recording

Chair: Marina

Attendees:

  • Steve Lasker (Microsoft)
  • Marina Moore (NYU)
  • Shiwei Zhang (Microsoft)
  • Nate W. (CNCF)
  • Tianon
  • Christoph Hamsen (Connaisseur)
  • Hector Fernandez (VMware)
  • add yourself

Agenda Items:

Notes:

  • Notation CLI
    • a few remaining issues, need to add tests
    • Will add github issue for remaining work
  • Project board
    • will be moved to GitHub (WIP)
    • contents in hackmd
  • meeting minutes

September 13, 2021

Recording

Attendees:

  • Samir Kakkar (AWS)
  • add yourself

Agenda Items:

  • Project Board Prep for coming up with release milestones for Notaryproject/Notation (Samir)
  • add your topics

Notes:

  • meeting minutes

September 8, 2021

Attendees:

  • Steve Lasker (Microsoft)
  • Shiwei Zhang (Microsoft)
  • Marina Moore (NYU)
  • Brandon Mitchell
  • Nate Waddington (CNCF)
  • Tianon
  • Pritesh Bandi (AWS)
  • Samir kakkar (AWS)

Agenda Items:

Notes:

  • Documentation considering whether docs should be one repo or distributed among sub-projects.
    • One repo avois fragile integration between repos
    • Docs per project keeps PRs changing functionality linked to doc changes in the same PR
  • Merging notation
    • Agreement to merge in notation as the baseline into main, documenting its status
    • Open issues on the merged cli and library to address gaps and changes
    • Enables the project to reflect things that are known, and functional, while we work on the next round of spec & design elements

September 1, 2021

Attendees:

  • Steve Lasker (Microsoft)
  • Shiwei Zhang (Microsoft)
  • Justin Cormack (Docker)
  • Marina Moore (NYU)
  • Brandon Mitchell
  • Nate Waddington (CNCF)
  • Christoph Hamsen (Secure Systems / Connaisseur)
  • Tianon
  • Pritesh Bandi (AWS)
  • Samir Kakkar (AWS)

Agenda Items:

Notes:

  • Scope paths:

    • registry.acme-rockets.io/namespace/sub-namespace/repo:tag a scope must be: registry.acme-rockets.io/namespace/ This would be invalid, as it's a partial namespace: registry.acme-rockets.io/name
  • meeting minutes

August 25, 2021

Attendees:

  • Justin Cormack (Docker)
  • Steve Lasker (Microsoft)
  • Marina Moore (NYU)
  • Tianon
  • Pritesh Bandi (AWS)
  • Nate Waddington (CNCF)
  • Christoph Hamsen (SSE / Connaisseur)
  • add yourself

Agenda Items:

Notes:

  • meeting minutes

August 18, 2021

Attendees:

  • Brandon Mitchell
  • Nate Waddington (CNCF)
  • Tianon
  • Steve Lasker (Microsoft)
  • Shiwei Zhang (Microsoft)
  • Niaz Khan (AWS)
  • Miloslav Trmač (Red Hat)
  • Trishank Karthik Kuppusamy (Datadog)
  • Dan Lorenc (Google)
  • Marina Moore (NYU)
  • add yourself

Agenda Items:

Notes:

  • Clarification for pull/66: Notary should include a mechanism for chain discovery to track which root a signature chains up to. This is not a m
  • meeting minutes

August 11, 2021

Attendees:

  • Brandon Mitchell
  • Justin Cormack (Docker)
  • Shiwei Zhang (Microsoft)
  • Marina Moore (NYU)
  • Dan Lorenc (Google)
  • Sajay Antony (Microsoft)
  • Steve Lasker (Microsoft)
  • Tejaswini Duggaraju (Microsoft)
  • Tianon
  • Miloslav Trmač (Red Hat)
  • add yourself

Agenda Items:

Notes:

  • Focus on JWS today, as it was what was approved by Microsoft and AWS Crypto boards, representing customer requirements. As DSSE evolves to meet the requirements, future versions can consider adopting DSSE based signatures.
  • Interopability - One of Notary v2's primary goals is the interoperability of content copying within and across private and public registries. Having a knwon signature format, for a particular version is core to that goal.
  • Signing/verification needs not to directly depend on a registry client implementation or call out to cloud key management software, at the low level; allow integrating with these things, but also allow a purely in-memory operation.
    • Notary v2 has defined goals for extensibility to support cloud provider key valuts, or other key vault providers through extensibility so that it has no coupling to a specific implementation.
  • What does Notary v2 sign: We'll focus on signing a descriptor, as it's the most generic registry object. This allows Notary v2 to consider blob signing (base layers) in the future, without reving the spec. The current notary client libraries will focus on manifests, prioritizing a certain experience, enabling it to evolve later.
  • OCI image-spec Layout for formatting registry objects on the filesystem (for disconnected portability and integration with other tooling)
  • meeting minutes

Aug 4, 2021

Attendees:

  • Brandon Mitchell
  • Milind Gokarn (AWS)
  • Miloslav Trmač (Red Hat)
  • Tianon
  • Shiwei Zhang (Microsoft)
  • Pritesh Bandi (AWS)
  • add yourself

Agenda Items:

Notes:

July 28, 2021

Attendees:

  • Tianon
  • Brandon Mitchell
  • Marina Moore (NYU)
  • Joshua Lock (VMware)
  • Trishank Karthik Kuppusamy (Datadog)
  • Miloslav Trmač (Red Hat)
  • Tejaswini Duggaraju (Microsoft)
  • Shiwei Zhang (Microsoft)
  • Milind Gokarn (AWS)
  • Pritesh Bandi (AWS)
  • add yourself

Agenda Items:

Notes:

  • Governance WIP
  • OCI Annotations
  • meeting minutes
    • Various discussion of the signature format, with notes captured in the working document.
  • Discussion on signature annotations vs custom fields in signature envelop: deciding point may be whether that data would be useful to a downstream consumer of the descriptor. (Brandon)
  • We can avoid namespace collisions in the annotations by reserving the org.cncf.notary.* for internal uses and reject that field for any user provided annotations (Brandon)

July 21, 2021

Attendees:

  • Dan Lorenc (Google)
  • Marina Moore (NYU)
  • Shiwei Zhang (Microsoft)
  • Trishank Karthik Kuppusamy (Datadog)
  • Steve Lasker (Microsoft)
  • Joshua Lock (VMware)
  • Tianon
  • Kavitha Krishnan (VMware)
  • Brandon Mitchell
  • Milind Gokarn (AWS)
  • Pritesh Bandi (AWS)
  • add yourself

Agenda Items:

Notes:

  • Discussion on TUF requirements/goals
    • why you need snapshot metadata to prevent rollback attacks of artifacts you haven't installed yet
    • Discussion of signature movement with TUF: https://github.com/notaryproject/nv2/blob/prototype-tuf/tuf-design.md#image-movement-withinbetween-registries
    • There are no concrete, formal processes for resolving PRs. Steve has asked Marina to close her PR, and open separate concerns as discussions instead. This is not a great resolution, as discussions can be ignored just as much as branches in a repo. We need to collectively agree on efficient processes for resolving PRs/issues/discussions, and not simply ignore them for months on end.
  • Convert Signature Format in to a PR.
  • meeting minutes

July 14, 2021

Time: 0000 GMT (0700 PT; 1000 ET; 1600 CET; 2200 CST)

Attendees:

  • Steve Lasker (Microsoft)
  • Shiwei Zhang (Microsoft)
  • Justin Cormack (Docker)
  • Tianon
  • Marina Moore (NYU)
  • Dan Lorenc (Google)
  • Trishank Karthik Kuppusamy (Datadog)
  • Brandon Mitchell
  • Milind Gokarn (AWS)
  • Pritesh Bandi (AWS)
  • add yourself

Agenda Items:

Notes:

  • Specify only 1 signature in the envelope for Notary v2 in the spec.
  • Concerns with separating blobs for signing and certificate chain
    • Packaging could have an "collection" of blobs, and that collection may inline the data of the embedded blob using the data field. (Brandon)
    • It's ideal for a Signing component/service to produce a single signature envelope that contains the payload, TSA signature, cert chain and paylod signature. If these are seperated into differrent blobs then the signing component either needs to be called muliple times of respond with a response containing multiple fields, either of which seems to introduce unnecesarry complexity.
  • Pointer to storing a "hint" to which key. See annotations example result of artifacts that reference the net-monitor image "org.cncf.notary.v2.signature.subject": "wabbit-networks.io":
    {
      "references": [
        {
          "digest": "sha256:3c3a4604a545cdc127456d94e421cd355bca5b528f4a9c1905b15da2eb4a4c6b",
          "manifest": {
            "schemaVersion": 3,
            "mediaType": "application/vnd.oci.artifact.manifest.v1-rc1+json",
            "artifactType": "cncf.notary.v2-rc1",
            "blobs": [
              {
                "mediaType": "application/tar",
                "digest": "sha256:9834876dcfb05cb167a5c24953eba58c4ac89b1adf57f28f2f9d09af107ee8f0",
                "size": 32654
              }
            ],
            "subjectManifest": {
              "mediaType": "application/vnd.oci.image.manifest.v1+json",
              "digest": "sha256:3c3a4604a545cdc127456d94e421cd355bca5b528f4a9c1905b15da2eb4a4c6b",
              "size": 16724
            },
            "annotations": {
              "org.cncf.notary.v2.signature.subject": "wabbit-networks.io"
            }
          }
        },
        {
          "digest": "sha256:3c3a4604a545cdc127456d94e421cd355bca5b528f4a9c1905b15da2eb4a4c6b",
          "manifest": {
            "schemaVersion": 1,
            "mediaType": "application/vnd.oci.artifact.manifest.v1-rc1+json",
            "artifactType": "example.sbom.v0"
          },
          "blobs": [
            {
              "mediaType": "application/tar",
              "digest": "sha256:9834876dcfb05cb167a5c24953eba58c4ac89b1adf57f28f2f9d09af107ee8f0",
              "size": 32654
            }
          ],
          "subjectManifest": {
            "mediaType": "application/vnd.oci.image.manifest.v1+json",
            "digest": "sha256:3c3a4604a545cdc127456d94e421cd355bca5b528f4a9c1905b15da2eb4a4c6b",
            "size": 16724
          },
          "annotations": {
            "example.sbom.author": "wabbit-networks.io"
          }
        }
      ],
      "@nextLink": "{opaqueUrl}"
    }
    • The lookup the key could also be based on a hash of the root key (or intermediates). (Brandon)
    • Advantage of a hash instead of a named field is the hash will point back to a specific key, where a name could be copied by a mistaken user claiming they have the "Docker Hub" root for signing their data when that may not be the case. (Brandon)
    • Hash itself does not need to be secure, it's a method to lookup/query which certificate chain the client wants to pull and later validate. (Brandon)
  • Request for a diagram for the various signing envelop options. (Brandon)
  • Steve- Next steps to prototype the payload formats, including merging DSSE with some proposed TSA properties to provide feedback to DSSE. However, there's concern we can't do two prototypes. JWT and JWS with DSSE.
  • Payload being signed could be a descriptor pointing to the image, and that descriptor could include different annotations, the digest, and size. (Justin)
  • Signature algorithm can be a signed attribute in cases where it cannot be determined by the key in cert chain. Notary V2 can have mapping for signature alg to specific encryption + hash alg in these cases similar to JWT alg mapping.
  • Custom attributes will be stored in payload, details will be part of payload structure we'll add to Signature format doc, and discussed next week. (Milind)
  • meeting minutes

July 9, 2021

8am Pacific Time

Attendees:

  • Steve Lasker (Microsoft)
  • Lachlan Evenson (Microsoft)
  • Shiwei Zhang (Microsoft)
  • Brandon Mitchell
  • Miloslav Trmač (Red Hat)
  • Tianon
  • Tejaswini Duggaraju (Microsoft)
  • Marina Moore (NYU)
  • Dan Lorenc (Google)
  • Trishank Karthik Kuppusamy (Datadog)
  • Pritesh Bandi (AWS)
  • add yourself

Agenda Items:

Notes:

July 2, 2021

Recording

Attendees:

  • Marina Moore (NYU)
  • Justin Cormack (Docker)
  • Dan Lorenc (Google)
  • Steve Lasker (Microsoft)
  • Shiwei Zhang (Microsoft)
  • Kavitha Krishnan (VMware)
  • Brandon Mitchell
  • Niaz Khan (AWS)
  • Milind Gokarn (AWS)
  • Michael Hough (IBM)
  • Tianon (InfoSiftr)
  • Miloslav Trmač (Red Hat)
  • Joshua Lock (VMware)
  • add yourself

Agenda Items:

Notes:

  • YouTube playlist not updated, Steve looking into it
  • Justin will be pushing a different governance doc that should be simpler, but also handles sub-groups, targetting 5 mods that can approve PRs, but could have more if we have active maintainers
  • Notary Project page exists to track goals
  • Next week should focus on Signature Format discussion, ensuring needed extensibility exists, and whether features should go into payload or signature envelope
  • meeting minutes

June 25, 2021

Recording

Attendees:

  • Marina Moore (NYU)
  • Lachlan Evenson (Microsoft)
  • Tianon (InfoSiftr)
  • Brandon Mitchell
  • Miloslav Trmač (Red Hat)
  • Dan Lorenc (Google)
  • Shiwei Zhang
  • Serge Hallyn
  • Tejaswini Duggaruju
  • Tianon Gravi
  • Iahiru
  • Kavitha Krishnan (VMWare)
  • Milind Gokarn (AWS)
  • add yourself

Agenda Items:

Notes:

  • Will work on getting a governance policy defined - Lachlan
  • Add Work in Progress notice in README - Lachlan (notaryproject/specifications#79)
  • Potential maintainers should raise a PR nominating themselves with their GitHub ID.
  • How can we make promises to the community without agreement - Marina - notaryproject/specifications#77
  • There are different workstreams happening and people are being caught offguard - Can we communicate more with the larger group - Lachlan
  • meeting minutes

June 18, 2021

Recording

Attendees:

  • Brandon Mitchell
  • Marina Moore (NYU)
  • Hank Donnay (quay)
  • Miloslav Trmač (Red Hat)
  • Dan Lorenc (Google)
  • add yourself

Agenda Items:

Notes:

  • meeting minutes

June 11, 2021

Recording

Attendees:

  • Brandon Mitchell
  • Jackline Mutua (VMware)
  • Miloslav Trmač (Red Hat)
  • add yourself

Agenda Items:

Notes:

  • meeting minutes

June 4, 2021

Recording

Attendees:

  • Brandon Mitchell
  • Tianon (InfoSiftr)
  • Joao Pereira (VMware)
  • Steve Lasker (Microsoft)
  • Miloslav Trmač (Red Hat)
  • Marina Moore (NYU)
  • Samir Kakkar (AWS)
  • Milind Gokarn (AWS)
  • add yourself

Agenda Items:

Notes:

  • Key revocation
    • Marina to generalize PR#47
    • Milind to merge the key revocation hackmd doc onto the contents of #47
  • Key Discovery
    • #10 as written can merge
    • Marina will iterate on 11 as there was discussion on the granularity of key management.
  • meeting minutes

May 28, 2021

Attendees:

  • add yourself

Agenda Items:

  • cancelled

Notes

May 21, 2021

Recording

Attendees:

  • Steve Lasker (Microsoft)
  • Joao Pereira (VMware)
  • Tianon
  • Serge Hallyn (Cisco)
  • Brandon Mitchell
  • Marina Moore
  • Samir Kakkar (AWS)
  • Milind Gokarn (AWS)
  • add yourself

Agenda Items:

Notes

May 14, 2021

Recording

Attendees:

  • Brandon Mitchell
  • Marina Moore (NYU)
  • Tianon
  • Joao Pereira (VMware)
  • Michael Hough (IBM)
  • Steve Lasker (Microsoft)
  • Samir Kakkar (AWS)
  • Milind Gokarn (AWS)
  • Paavan Mistry (AWS)
  • add yourself

Agenda Items:

Notes:

  • Consider whether there's only fail open or fail closed. A potential 3rd option is to have an expiration window on signatures that has $n expiration, and the signer expects to refresh at $n/2 time, giving a $n/2 window to recover from a failure until deployers are impacted. (Brandon)
  • Should revist the fail open/closed decision and make sure everyone is in agreement. (Brandon) This may not be needed if it's a user configurable setting.
  • A list of infrastructure needed by air-gapped environments to maintain to implement the solution would be useful (Brandon)

May 7, 2021

Cancelled due to KubeCon focus/catchup

April 30, 2021

Attendees:

  • Steve Lasker (Microsoft)
  • Shiwei Zhang (Microsoft)
  • Marina Moore (NYU)
  • Tianon
  • Hank Donnay (Quay)
  • Serge Hallyn (Cisco)
  • Brandon Mitchell
  • Niaz Khan (AWS)
  • add yourself

Agenda Items:

Notes:

  • Short term vs long term keys depends on threat scenarios. Long term signing keys protect the issuer from frequently issuing new keys. Short term signing keys protect from a compromised signer.
  • Recognition we should add some overviews for the decentralized model we're enabling and assuming with Notary v2.
  • meeting minutes

April 23, 2021

Attendees:

  • Steve Lasker (Microsoft)
  • Marina Moore (NYU)
  • Paavan Mistry (AWS)
  • Tianon
  • Brandon Mitchell
  • Michael Hough (IBM)
  • Niaz Khan (AWS)
  • Samir Kakkar (AWS)
  • Milind Gokarn (AWS)
  • Furkat Gofurov (Ericsson)
  • Serge Hallyn (Cisco)
  • add yourself

Agenda Items:

Notes:

  • Need to add some key management scenarios
    • specifying a key for a particular artifact
    • trusted artifacts: what goes here?
    • does scope fall through
  • Move open topics to issues so PR can be merged with open discussions being discussed as issues.
  • Brandon: scope could be moved up to trust policy
  • Brandon: in trustedRoots add a name element
  • Marina: it's possible to have metadata/signatures expire without having to constantly re-sign
  • Signature expiry
    • Add a step-by-step scenario with short lived CI signing key, how that gets extended with timestamp service, what gets pushed to the registry, and how do clients know to trust
    • What happens if timestamp root is compromised
    • What needs to be updated on the registry
  • meeting minutes

April 16, 2021

Attendees:

  • Niaz Khan (AWS)
  • Steve Lasker (Microsoft)
  • Miloslav Trmač (Red Hat)
  • Marina Moore (NYU)
  • Brandon Mitchell
  • Mauren Berti (VMware)
  • Tianon
  • Hank Donnay (Quay)
  • Joao Pereira (VMware)
  • Ralph Squillace (Microsoft)
  • Serge Hallyn (Cisco)
  • Jan Tilles (Ericsson)
  • Furkat Gofurov (Ericsson)
  • Sravan Rengarajan (AWS)
  • Paavan Mistry (AWS)

Agenda Items:

Notes:

  • Need to add a "Policy" definition and start to identify what we can include in a policy.
  • How do we handle artifacts that can come from multiple locations (mirrors)?
  • There's a need to limit what repositories a key is permitted to sign, rather than approve anything a key signs.
  • Discussing if and how artifacts could be verified with any name based on just the signer to remove the name of the registry and repository from the validation.
  • What is the output of the Trust Policy? "Allow", "Deny", and discussion on whether "Warn" should be a third option.
  • Steve - we're touching on the content movement issue. How do we trust a thing, regardless for where it's coming from? How can we decouple where something is stored from what we trust?
  • Paavan Mistry - Would it be useful to extend the Wabbit Networks/ACME scenario to demonstrate and define the trust policy and store in this doc?
  • Steve - ^ yes, great suggestion to incorporate
  • Brandon Mitchell - The ideal for me is a client side mapping, deployer has a list of permitted mappings that it permits to allow repo/tag to validate in a different location.
  • Miloslav Trmač - Yes, the client must configure a specific mapping of expected image movement/mirrors. Without a mapping to allow specific movements, “trust regardless where it’s coming from” collapses to unbounded “allow any key trusted for some purpose, however small, for any artifact at all”
  • Ralph Squillace - I am skeptical that any identity of an artifact should require a url. The argument that Microsoft can't be hijacked is likely mostly true; but what about squillace.com? smaller domains can and yet there must be another way to understand and verify identity of the artifact even if the domain was.
  • Joao Pereira - But isn’t that policy?
  • Miloslav Trmač It’s very convenient when the identity looks like a location because everyone is already specifying a location when pulling. It doesn’t have to be the physical location from where that the content is actually downloaded — that’s basically the same kind of client mapping policy.
  • Steve Lasker - Docker is one of the unique package types where the location is tied to the type. This is something we're hoping to decouple with artifact mappings. So, I'm hoping we don't create more dependencies on location for signing validation.
  • Milind Gokarn - The better analogy than TLS/TLS certs would be code signing certs, software signed with say authenticode would be trusted irrespective of where it was downloaded from.
  • Ralph Squillace - containers tied to location of storage was one of the most RESTful but poor design... incompletions that we experienced in this space. #hotTake
  • From Brandon Mitchell - I think the question here is do we want that, when we have the ability to limit that trust with the registry/repo design while we don't have that ability to limit scope with code signing.
  • Miloslav Trmač -If Authenticode signs a kernel driver, it doesn’t really matter anymore what the purpose of the driver was because it has SYSTEM level access anyway; with isolated containers, it makes much more sense to distinguish between publishers and individual container identities
  • Steve Lasker - current nv2 sample "trust policy" - overly simply allow list
    {
       "enabled": true,
       "verificationCerts": [
           "/home/stevelas/nv2-demo/wabbit-networks.crt"
       ]
    }
  • Brandon Mitchell- I'd push for only having "allow" or "deny" and make "warning" or other capabilities an externality that could be implemented within the policy
  • Sravan Rengarajan - +1 allow or deny* are tablestakes
  • Miloslav Trmač +1; “warning” is unactionable.
  • Sravan Rengarajan - just like that policy snippet from the prototype, is there an example json response with scenarios of how the policy passed or failed?

April 9, 2021

Attendees:

  • Jan Tilles (Ericsson)
  • Brandon Mitchell
  • Steve Lasker (Microsoft)
  • Mauren Berti (VMware)
  • Joao Pereira (VMware)
  • Tianon
  • Niaz Khan (AWS)
  • Furkat Gofurov (Ericsson)
  • Milind Gokarn (AWS)
  • Samir Kakkar (AWS)
  • Dan Lorenc (Google)
  • Serge Hallyn (Cisco)

Agenda Items:

Notes:

  • To capture the definition of key hierarchy
  • Key management is extensible. Users can integrate with their key management system, and Notary will suppor that flexibility
  • meeting minutes

March 29, 2021

Attendees:

  • Steve Lasker (Microsoft)
  • Hank Donnay (Quay)
  • Robert Szumlakowski (VMware)
  • Furkat Gofurov (Ericsson)
  • Jan Tilles (Ericsson)
  • Niaz Khan (AWS)
  • Brandon Mitchell
  • Mauren Berti (VMware)
  • Joao Pereira (VMware)
  • Stuart Hayton (IBM)
  • Jackline Mutua (VMware)
  • Marina Moore (NYU)
  • Serge Hallyn (Cisco)
  • add yourself

Agenda Items:

Notes

  • Short vs Long key options: PR 47

March 22, 2021

Attendees:

  • Steve Lasker (Microsoft)
  • Ralph Squillace (Microsoft)
  • Marina Moore (NYU)
  • Miloslav Trmač (Red Hat)
  • Dennis Leon (VMware)
  • Brandon Mitchell
  • Jan Tilles (Ericsson)
  • Mauren Berti (VMware)
  • Sumana Harihareswara (NYU) [had to leave early]
  • Niaz Khan (AWS)
  • Robert Szumlakowski (VMware)
  • Dan Lorenc (Google)
  • Serge Hallyn (Cisco)
  • Samuel Karp (AWS)
  • Furkat Gofurov (Ericsson)
  • Jackline Mutua (VMware)
  • add yourself

Agenda Items:

Notes:

  • Prototype 1 [certificate?] prototype discussion/status -- incubating
    • request for details/clarification on, e.g., integrity checking, need to re-sign things, signature flow
    • NOT using Trust on First Use
    • concerns about putting the string in the certificate....
      • response: a place user can verify -- user goes back to that place to get the content
      • Users may push to multiple registries and want to sign using the same certificate (Brandon)
      • The signer of a key is more important than the CN value on the certificate (Brandon)
      • Goal is to have a secondary check that key was signed by an upstream entity (Steve)
    • is it a business or technical decision re: key management & whom the user default trusts?
    • question re optionality of CNAME, fundamental structure/usage of x.509 certificate
    • need better clarity re dummy data in this demo, example & root CA & what client trusts
      • We should update the demo to include a minimal chain of trust
    • some of this conversation overlaps with key management -- separate from conversations on persistence, etc. -- but those outcomes may lead to changes in certificate structure
    • need to file these issues, tag them, reduce need for future re-clarification for new entrants
  • Prototype 2 [better name that covers waht this covers?] discussion/status
    • Prototype 2 validates the Artifact spec with Notary as a use case

March 15, 2021

Recording

Attendees:

  • Dennis Leon (VMware)
  • Brandon Mitchell
  • Steve Lasker (Microsof)
  • Marina Moore (NYU)
  • Mauren Berti (VMware)

Agenda Items:

Notes:

  • Need to revise TUF design as key management goals are merged in
  • Question about how TUF allows multiple signatures
    • TUF targets metadata files are independent, but each targets metadata can have multiple signatures
    • Allows clients to set policy by defining their own top-level targets metadata
    • Marina will add a diagram or example metadata (with a white background)
  • How to minimize security losses when separating registries into many roots for privacy reasons?
    • Snapshot merkle trees and auditing can give you similar protection (like a transparancy log)
  • What are the benefits of combining repositories into the same root?
    • More protection against rollback attacks on metadata from the snapshot metadata
    • Increased auditability
    • Simplified key management if the user needs to access less roots
    • Marina will add a diagram/description
  • Discussion about balancing tag signing and pulling old version by digest
    • TUF needs to continue to list older digests and signatures if they are not revoked
    • Allow for company policy for whether to pull by tag or digest
  • How to diferentiate between valid and malicious rollback
    • Always roll forward: new revision with the same digest
    • Also need to protect against a fast forward attack
  • Revoking a signature
    • Why not just delete?
      • Can it be securely deleted?
    • What is the purpose of signing something? Does it attest to security?
    • Revoking a signature is a finer scale than revoking a key - it only applies to the one artifact
    • Make sure that something that's revoked can't be replayed
  • Prototypes
    • Add tag signing
    • Differentiate originating signatures?
    • TUF integration in a prototype
  • meeting minutes

March 8, 2021

Recording

Attendees:

  • Niaz Khan (AWS)
  • Joao Pereira (VMware)
  • Dennis Leon (VMware)
  • Robert Szumlakowski (VMware)
  • Brandon Mitchell
  • Steve Lasker (Microsoft)
  • Samuel Karp (AWS)
  • Mauren Berti (VMware)
  • Jackline Mutua (VMware)

Agenda Items:

Notes:

  • Added key management requirement document
  • Notary v2 demo script Updated demo steps to fix bugs
  • Plan to make a similar demo for key management
  • TUF prototype specification describes how TUF prototype can be made to work with distribution work
  • TUF addresses key management requirements (discovery, key revocation)
  • Notary registry implementation: aiming for generic storage of artifacts. Can iterate for key management/TUF requirements
  • Can we combine TUF work with registry implementation? Steve will work on demo for next week
  • Marina will connect TUF to Notary requirement documents (notaryproject/notation#41)
  • Need to define interfaces in prototypes so that they can fit together
  • Need to focus on reviewing and merging open requirements prs
  • meeting minutes

March 3, 2021

Recording

Attendees

  • Niaz Khan (AWS)
  • Marina Moore (NYU)
  • add yourself

Agenda Items:

  • Key Management Prototype Components
    • Keys used for signing
    • Key rotation
    • Trust store configuration and signature source validation
    • Signature allowlist/denylist
  • Key Rotation Requirement (Doc outline)
  • Signature/Key Allowlist/Denylist
  • add your topics

Notes:

  • Overall prototype components are good. We may in the future decide to merge prototypes based on alignment in Key Rotation and Signature/Key Allowlist/Denylist discussions. Will share with larger group in 3/8 meeting
  • Updated outline for key rotation requirements in https://github.com/notaryproject/requirements/pull/38/commits/3a7100a541dae95784488477e0f763fd25a5ef66. Niaz and Marina to work on this doc for 3/15 meeting.
  • The notaryproject/specifications#47 covers three areas, key expiration, signature/key allowlist/denylist and key distribution. Discussed covering these as individual topics. Detailed feedback will be tracked as comments.
  • Schedule weekly call at 10 AM ET on Wednesdays going forward.

March 1, 2021

Recording

Attendees:

  • Niaz Khan (AWS)
  • Dennis Leon (VMware)
  • Steve Lasker (Microsoft)
  • Garry Ing (VMware)
  • Brandon Mitchell
  • Robert Szumlakowski (VMware)
  • Jackline Mutua (VMware)
  • Samuel Karp (AWS)
  • Marina Moore (NYU)
  • Serge Hallyn (Cisco)
  • Paavan Mistry (AWS)

Agenda Items:

  • Identify next phases of prototypes, with an open invite for folks to contribute (Steve)
  • add your topics

Notes:

  • Next round of prototypes:
  • Continued maintanance of Notary v1? Probably not, Notary v2 will replace Notary v1
  • Concern about moving forward with prototypes without a plan for key management
  • Key revocation especially is blocking
  • Other prototypes can still move forward.
  • Discussion around key management and revocation, Marina and Niaz will work on a document of a possible solution.
  • Key managment working session planned for Wednesday 10am EST on same zoom link.
  • Challenges with adding to OPA/Gatekeeper upstream. Can extend locally, but harder to distrubute extensions to Gatekeeper instances
  • Need input from OPA/Gatekeeper community
  • meeting minutes

February 22, 2021

Recording

Attendees:

  • Joao Pereira (VMware)
  • Garry Ing (VMware)
  • Steve Lasker (Microsoft)
  • Hank Donnay (Quay)
  • Brandon Mitchell
  • Niaz Khan (AWS)
  • Marina Moore (NYU)
  • Mauren Berti (VMware)
  • Robert Szumlakowski (VMware)
  • Omar Paul (AWS)
  • Samuel Karp (AWS)
  • Serge Hallyn (Cisco)
  • Paavan Mistry (AWS)

Agenda Items:

Notes:

  • meeting minutes

February 15, 2021

Agenda Items:

  • cancelled due to the US holiday

February 8, 2021

Recording

Attendees:

  • Steve Lasker (Microsoft)
  • Andy Goldstein (VMware)
  • Brandon Mitchell
  • Joao Pereira (VMware)
  • Manish Dangi(Student India)
  • Miloslav Trmač (Red Hat)
  • Niaz Khan (AWS)
  • Samuel Karp (AWS)
  • Omar Paul (AWS)
  • Serge Hallyn (Cisco)
  • Marina Moore (NYU)
  • Mauren Berti (VMware)
  • add yourself

Agenda Items:

Notes:

  • Dan is from Google, working on signing solutions
    • Presenting cosign
    • Similar to minisign and signify
    • Using the Red Hat SimpleSigning format with the Google binary auth service
  • meeting minutes

February 1, 2021

Recording

Attendees:

  • Steve Lasker (Microsoft)
  • Joao Pereira (VMware)
  • John Ryan (VMware)
  • Garry Ing (VMware)
  • Brandon Mitchell
  • Josh Dolitsky
  • Peter Engelbert
  • Samuel Karp (AWS)
  • Marco Franssen (Philips - Research)
  • Niaz Khan (AWS)
  • Rio Kierkels (UvA: SNE Master Student)
  • Hank Donnay (Quay)
  • Serge Hallyn (Cisco)
  • Marina Moore (NYU)
  • Paavan Mistry (AWS)
  • Mauren Berti (VMware)
  • add yourself

Agenda Items:

Notes:

  • Status Update - steve to get a doc out this week, with time for feedback to provide a status for others to read as well.
  • Quay update for Hank Merged
  • Brandon will add a PR to cover issue #43
  • Discussion around whether Docker Hub would sign user repos to verify image came from logged in user. Potentially better than trust on first use.
  • Looking for volunteers to help with key management scenarios.
  • Steve looking for volunteer to run a poll for finding a better time slot.
  • Steve also looking at new cncf-provided meeting venue, so link may change. (check HackMD)
  • More information about the TUF design
  • Discussion on manifest list API
  • Paavan Mistry Would there be a limit to how many signatures that can be attached?
    • Steve There could be, but that would be a client config. At least that's the current thinking.
  • Jon public registries should use something like transparency logs for tags... shoving this requirement into notary feels like scope creep
  • Niaz Khan We should have this be individual organizations. If you haven't heard of Wabbit Networks, why would you trust their software?

January 25, 2021

Recording

Attendees:

  • Steve Lasker (Microsoft)
  • Rio Kierkels (UvA: SNE Master Student)
  • Mohanad Elamin (UvA: SNE Master Student)
  • Niaz Khan (AWS)
  • Hank Donnay (Quay)
  • Marco Franssen (Philips - Research)
  • Samuel Karp (AWS)
  • Omar Paul (AWS)
  • Paavan Mistry (AWS)
  • Brandon Mitchell
  • Miloslav Trmač (Red Hat)
  • Marina Moore (NYU)

Agenda Items:

Notes:

  • Steve talked us through some of the thoughts on the artifact manifest:
    • https://github.com/SteveLasker/artifacts/blob/artifact-manifest/artifact-manifest/artifact-manifest.md
    • https://stevelasker.blog/2020/10/21/is-it-time-to-change-default-registry-references/
      • RH experience: allowing short ambiguous names is deeply problematic. It may make sense for an UI (per-user aliases on manually-typed input), but should never be in data like Helm charts / k8s pod specs. Consider what happens if two different vendors deliver Helm charts that require different short-name configurations: you end up with search paths and conflicts and attacks via registry DoS to redirect references. Instead, have names that are worldwide-unique, and map them to physical locations.
    • Multiple concerns with dropping the registry server in references, including ambiguous references to name.with.dots/path:tag where the name may be a part of the repo or a hostname, and intentional repository name conflicts to push malicious images. My preference is to use an upstream registry name, and clients can configure mirrors that attempt to pull images for a specific upstream registry from a specific mirror. (Brandon)
    • Add topic around signature revocation, in addition to key revocation
    • Will send the OCI Artifact Manifest PR out later this week for feedback
    • Recursive lookups on references (CNAB -> Helm -> Image) is probably best left to a client side implementation to avoid server-side DoS attacks. (Brandon)
    • It would be helpful for a lookup of signatures on an image to include the contents of the multiple signatures, rather than only a list of descriptors that needs to be queried separately (reducing the number of round trips to find a usable signature). (Brandon)
  • SPIFFE/Spire
    • Marco - could we use this for a deferred signing solution. Not sure how this would work with keys that are continually rotating

January 11, 2021

Recording

Attendees:

  • Steve Lasker (Microsoft)
  • Hank (quay)
  • Peter Engelbert (Blood Orange)
  • Josh Dolitsky (Blood Orange)
  • Rio Kierkels (University of Amsterdam: Security and Network Engineering Master Student)
  • Mohanad Elamin (University of Amsterdam: Security and Network Engineering Master Student)
  • Marco Franssen (Philips - Research)
  • add yourself

Agenda Items:

  • Update on prototypes
  • Conflict process
  • add your topics

Notes:

January 4, 2021

Recording

Attendees:

  • Steve Lasker (Microsoft)
  • Niaz Khan (AWS)
  • Justin Cormack (Docker)
  • Brandon Mitchell (self)
  • Marco Franssen (Philips - Research)
  • Marina Moore (NYU)
  • Santiago Torres-Arias (Purdue)
  • Trishank Karthik Kuppusamy (Datadog)
  • Garry Ing (VMware)
  • add yourself

Agenda Items:

  • Open discussion pertaining to the SolarWinds exploit and how Notary v2 would pertain and what we could/should add to our scope. Based on the publicly disclosed info, the build system appears to have been exploited. Source code was not exploited, but we all know the extent of what is capable in a build environment.
    • Were packages exploited?
    • Were additional packages injected?
    • Was the build environment locked down to not allow external sources/packages to be pulled in?
    • Where do the scripts that replicate the builds originate from?
    • What verification systems were in place to validate what went in is what came out?
    • add your topics

Notes:

Open discussion on the SolarWinds attack, and what could have been done to mitigate, based on what we know about the attack and what we know about build systems.

  • Trishank Kuppusamy The Trusting Trust attack, exactly, Steve From santiago torres to Everyone: 09:54 AM to add: xcodeghost was an attack like that. A compiler that injected malware in popular iOS apps (one was angry birds iirc)
  • Ian McMillan Totally agree with what Marina is saying here. At the very least, supporting TUF and in-toto and/or SBOM would increase the cost to compromise and reduce the cost/velocity of post-compromise investigations.
  • santiago torres Agreed! I also wanted to add taht there are other exciting solutions: using keylime (TPM+Kernel IMA) and embedd this information inside of in-toto attestations to verify the integrity of buildservers
  • Marco Franssen Joined a bit late, but hearing the last 40 minutes I think the key point is to find a way to make it easier for others to understand these topics. Personally I also struggle to convince people that we need more then just a PKI solution to do signatures. We need simple tools to integrate in the process, preferably hard to bypass, but still easy for developers to integrate. Personally I really liked notary v1 after we added a small tool to manage the certificates. Notary v2, in-toto can pull this further. Make it easier for developers, make it easier to understand for management to make them understand a relative low investment can save huge amounts of costs. etc. etc.
  • Trishank Kuppusamy 100% @Marco
  • Marco Franssen Shouldn’t we pull this even further then just OCI registries. Many things before we reach a Docker build phase would benefit from notary as well. Supporting other registry types, npm, gradle, nuget, go modules etc. Would add a lot of value, probably even more if adding in-toto in the mix to verify images came from those registries.

Info about the SolarWinds attack: