# Notary v2 Meeting Notes ###### tags: `notary` **NOTE: Time Change** - moving 1 hour earlier on Fridays. Time: 1500 GMT (0800 PT; 1100 ET; 1600 CET) - [On Github](https://github.com/notaryproject/) - [CNCF Calendar](https://www.cncf.io/community/calendar/) - [Zoom Dial-in link](https://zoom.us/j/6115932621?pwd=SGtsUXhQWHVvTjBuNnp4KzI1UFhyZz09) - Passcode: 77777 (5x 7) - [Notary v2 Conversations on Slack]( https://app.slack.com/client/T08PSQ7BQ/CQUH8U287/thread/CEX1W7WMD-1582660575.076600) - [Find your local number](https://zoom.us/u/aLDk4OXTu) - [Notary v2 GitHub Projects](https://github.com/notaryproject/) - [YouTube Channel of recording](https://www.youtube.com/playlist?list=PLj6h78yzYM2O1BOGT3hLdJTJCKz0f-bYq) ### Dial by your location 877 369 0926 US Toll-free 855 880 1246 US Toll-free Meeting ID: 611 593 2621 #### One tap mobile +16465588656,,6115932621# US (New York) +16699006833,,6115932621# US (San Jose) **Note:** Template for copying at the bottom of the note. - Agenda items must identify the (owner) of the item ## May 14, 2021 ### 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: - Review [revocation requirements](https://hackmd.io/2rc07WwHTdmPjpgoMbvYfA?view) document (Milind Gokarn) - _add your topics_ ### 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: - Review requirements for (Niaz) - Key expiry - https://hackmd.io/n82ZTBv3TK2Y4rujlnW3ng - Signature expiry - https://hackmd.io/pT4IicsQRlGhR9szlrIUWQ (not covered on 4/30) - [Key discovery scenarios](https://github.com/notaryproject/notaryproject/pull/66) ### 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: - [Key Management Requirements PR#38](https://github.com/notaryproject/notaryproject/blob/5d77d981fa4fe66a3a47e75df6030b4d7a3fad83/keymanagementrequirements.md) (Niaz) - _add your topics_ ### 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: - Trust Policy and Trust Store Management - https://github.com/notaryproject/notaryproject/pull/38 (Niaz) - _add your topics_ ### 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 ```json { "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: - Revisit [threat model](https://github.com/notaryproject/notaryproject/pull/35/files) and [attacker scenarios](https://github.com/notaryproject/notaryproject/pull/33/files) (Marina) - Review scope for additional key management requirements https://github.com/notaryproject/notaryproject/pull/38 (Niaz) ### 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: - [New time Doodle](https://doodle.com/poll/97sti3k684dhhmu4?utm_source=poll&utm_medium=link) (Serge, Marina) - [Repos](https://github.com/notaryproject/notaryproject/issues/51), Branching & Releases (Steve) - [OPA/Validation](https://github.com/notaryproject/notaryproject/issues/61) (Daniel from NTTData) - Possible move from `oci.artifact.manifest` to Justin's [new generic manifest proposal](https://gist.github.com/justincormack/523dc229f0dd7b882edf19c60aed1581), [moved to WIP PR under OCI-artifacts](https://github.com/opencontainers/artifacts/pull/37) (Justin or Steve) - Signature format: https://github.com/notaryproject/nv2/issues/39 (Dan) - Short lived vs. long lived keys? (Dan) ### Notes - Short vs Long key options: [PR 47](https://github.com/notaryproject/notaryproject/pull/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: - Prototype (Steve) - [Prototype 1 Scope](https://github.com/notaryproject/notaryproject/issues/3) - complete - [Prototype 2 Scope](https://github.com/notaryproject/notaryproject/issues/4) - underway - [Prototype 3 Scope](https://github.com/notaryproject/notaryproject/issues/5) - draft, with details needed for what we want and don't expect to achieve in this phase. - Key Management PRs - Status of signature and payload specifications? Timeline for moving out of prototype branch (Dan) - Project Structure/Governance stuff: https://github.com/notaryproject/notaryproject/issues/2 (Dan) - _add your topics_ ### 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](https://www.youtube.com/watch?v=mBzZ7_FrMZw) ### Attendees: - Dennis Leon (VMware) - Brandon Mitchell - Steve Lasker (Microsof) - Marina Moore (NYU) - Mauren Berti (VMware) ### Agenda Items: - [Aligning TUF design with Notary v2 goals](https://github.com/notaryproject/nv2/pull/41) (Marina) - [Adding scenario for tag signing](https://github.com/notaryproject/requirements/pull/48) (Brandon) - [Adding scenario for revoking trust in an artifact](https://github.com/notaryproject/requirements/pull/49) (Brandon) - Prototype 2 & 3 goals (Steve) - _add your topics_ ### 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](https://www.youtube.com/watch?v=tmAQAVATbMQ) ### 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: - Key Management Updates (Revised pull request https://github.com/notaryproject/requirements/pull/38) - [TUF Prototype specification](https://github.com/notaryproject/nv2/pull/38) (Marina) - _add your topics_ ### Notes: - Added key management requirement document - [Notary v2 demo script](https://github.com/notaryproject/nv2/blob/prototype-1/docs/nv2/demo-script.md) 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 (https://github.com/notaryproject/nv2/pull/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](https://www.youtube.com/watch?v=TyDvb_SiJOQ) ### 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 - Review https://github.com/notaryproject/requirements/pull/47 - Determine next steps - _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 https://github.com/notaryproject/requirements/pull/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](https://www.youtube.com/watch?v=oF0ydMcUOfc) ### 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: - OPA/Gatekeeper validation w/k8s - Complete CNCF distribution/distribution implementations - [Add support for linked artifacts #3](https://github.com/notaryproject/distribution/pull/3) - [Add OCI Artifact Type #31](https://github.com/opencontainers/artifacts/pull/31) - https://github.com/shizhMSFT/notary - https://github.com/sajayantony/nv2-demo - ORAS - 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](https://www.youtube.com/watch?v=8HMpVsXSiGQ) ### 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: - [Key Management Requirements](https://github.com/notaryproject/requirements/pull/38) - Niaz - [Publishing the Notary v2 Status - feedbck before publishing?](https://github.com/notaryproject/notaryproject/pull/1) - SBoM Working Group quick update (Steve) - _add your topics_ ### Notes: - _meeting minutes_ ## February 15, 2021 ### Agenda Items: - cancelled due to the US holiday ## February 8, 2021 [Recording](https://www.youtube.com/watch?v=itYqzloJKro) ### 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: - Container Signing Demo - Dan Lorenc (Google) - Key Management Requirements (https://github.com/notaryproject/requirements/pull/38) - _add your topics_ ### Notes: - Dan is from Google, working on signing solutions - Presenting [cosign](https://github.com/projectcosign/cosign) - Similar to minisign and signify - Using the Red Hat SimpleSigning format with the Google binary auth service - _meeting minutes_ ## February 1, 2021 [Recording](https://www.youtube.com/watch?v=eAjXTG1nhZM) ### 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: - Status Update (Steve) - Work through backlog of issues and PRs (Steve-group) - Hackmd.io performance: Archive these notes to a repo under https://github.com/notaryproject/ (Steve) - [How to enable dynamic (delegation) certificates in CI? #44](https://github.com/notaryproject/requirements/discussions/44) (Marco) - [What should the root key cover](https://github.com/notaryproject/nv2/discussions/27) (Marina) - New timeslot? - _add your topics_ ### 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](https://github.com/notaryproject/requirements/pull/39) Merged - Brandon will add a PR to cover [issue #43](https://github.com/notaryproject/requirements/issues/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](https://github.com/notaryproject/nv2/tree/prototype-tuf) - [Discussion on manifest list API](https://github.com/opencontainers/distribution-spec/issues/222) - 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](https://www.youtube.com/watch?v=14c7tcM1MAk) ### 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: - [OCI Artifact/Notary v2 Signature Persistance Updates](https://github.com/SteveLasker/artifacts/blob/artifact-manifest/artifact-manifest/artifact-manifest.md) (steve) - [Scenarios for types of artifacts and delayed verification](https://github.com/notaryproject/requirements/pull/41) (Brandon) - [Should tags be signed in addition to digests?](https://github.com/notaryproject/requirements/issues/43) (Brandon) - [Scenario for clients to limit trust of a signing key](https://github.com/notaryproject/requirements/issues/42) (Brandon) - [TUF Implementation Discusions](https://github.com/notaryproject/nv2/discussions?discussions_q=%5BTUF%5D) (Brandon) - Should Roots be tied to Registry/Repository? (Niaz) - SPIFFE/Spire (some thoughts) - Marco: PodMan did a similar [registry configuration feature](https://github.com/containers/podman/blob/c70f5fb19bb411f81183d025d18bbf1e8cdc0938/pkg/registries/registries.go#L19) - _add your topics_ ### 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](https://www.youtube.com/watch?v=t8D5IAMmmjU) ### 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: - GPG support vs. x509? - GitHub issue: https://github.com/notaryproject/nv2/issues/21 - Conflict Process Today, the referenced conversations are captured in incomplete hackmd.io notes, or recording videos. While captured, these aren't fairly searchable. Now that we have a baseline of content in the git repos: - https://github.com/notaryproject/requirements - https://github.com/notaryproject/requirements/blob/main/scenarios.md We committed in the meeting today to capture the specific items as PRs and issues. The git history will be better for search and resolution. ## January 4, 2021 [Recording](https://www.youtube.com/watch?v=4xvko9Zjtb8) ### 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: - https://www.sec.gov/Archives/edgar/data/0001739942/000162828020017451/swi-20201214.htm - https://labs.sentinelone.com/solarwinds-understanding-detecting-the-supernova-webshell-trojan/ - https://www.fireeye.com/blog/threat-research/2020/12/evasive-attacker-leverages-solarwinds-supply-chain-compromises-with-sunburst-backdoor.html - https://www.microsoft.com/security/blog/2020/12/18/analyzing-solorigate-the-compromised-dll-file-that-started-a-sophisticated-cyberattack-and-how-microsoft-defender-helps-protect/ - https://blog.reversinglabs.com/blog/sunburst-the-next-level-of-stealth # Archived Notes Older meeting notes have been archived to: https://github.com/notaryproject/meeting-notes # Meeting Notes Template (template for copying) ## Meeting Date ### Attendees: - _add yourself_ ### Agenda Items: - _add your topics_ ### Notes: - _meeting minutes_