From 21e17a35e3a565f912dfb462f8d3b79e2cee61e5 Mon Sep 17 00:00:00 2001 From: Marina Moore Date: Mon, 14 Feb 2022 15:15:23 -0500 Subject: [PATCH 1/4] Add document and diagram for artifact movement Signed-off-by: Marina Moore --- docs/images/Notary-v2_movement.jpg | Bin 0 -> 79653 bytes docs/movement.md | 14 ++++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 docs/images/Notary-v2_movement.jpg create mode 100644 docs/movement.md diff --git a/docs/images/Notary-v2_movement.jpg b/docs/images/Notary-v2_movement.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1c9cc4ab14fbbcb2a8f84aa428cf9c5bcc883be2 GIT binary patch literal 79653 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 + +The following is the process for moving an artifact that has been signed with TUF. +We assume that both the source and destination registries have existing TUF metadata. + +1. Copy the artifact and any delegated targets metadata to the target repository on the destination registry. +1. Update the top-level targets metadata on the destination repository to indicate that the original uploader's signature should be trusted +1. (Optional) Add a signature to the artifact from the verifier or other entity and update the top-level targets metadata accordingly +1. (Automated) Update the snapshot and timestamp metadata on the destination registry. + + +All of these steps can be combined into a single CLI/API call with flags for adding signatures and indicating which keys should be trusted. From af80651030b7aea668e8db3c3530438ea329831e Mon Sep 17 00:00:00 2001 From: Marina Moore Date: Mon, 14 Feb 2022 16:24:02 -0500 Subject: [PATCH 2/4] Separate movement scenarios Signed-off-by: Marina Moore --- docs/movement.md | 31 ++++++++++++++++++++++++++----- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/docs/movement.md b/docs/movement.md index feae0a1..939608a 100644 --- a/docs/movement.md +++ b/docs/movement.md @@ -1,14 +1,35 @@ # How to move an artifact signed by tuf-notary - +There are a few scenarios for moving artifacts covered in this document: +* Mirroring the artifact and TUF metadata +* Copying the image without the original signature (or from a registry that doesn't use TUF) +* Copying the image and the original signature +* Copying the image, original signature, and adding an additional verifier's signature + +In all but the first scenario we assume that the destination registry already has a top-level TUF repository set up. + +All of these steps for each scenario can be combined into a single CLI/API call with flags indicating whether the original signature is copied, and if a new signature is to be added. + +## Mirroring the artifact and TUF metadata +Copy the artifact, signature, and all top-level TUF metadata to the new registry. The mirror will want to ensure that copies are frequent enough that the timestamp and snapshot remain valid. + +## Copying the image without the original signature + +1. Copy the artifact to the target repository on the destination registry. +1. Add a TUF signature to the artifact from the verifier or other entity and update the top-level targets metadata accordingly +1. (Automated) Update the snapshot and timestamp metadata on the destination registry. -The following is the process for moving an artifact that has been signed with TUF. -We assume that both the source and destination registries have existing TUF metadata. +## Copying the image and the original signature 1. Copy the artifact and any delegated targets metadata to the target repository on the destination registry. 1. Update the top-level targets metadata on the destination repository to indicate that the original uploader's signature should be trusted -1. (Optional) Add a signature to the artifact from the verifier or other entity and update the top-level targets metadata accordingly 1. (Automated) Update the snapshot and timestamp metadata on the destination registry. +## Copying the image, original signature, and adding an additional verifier's signature + + -All of these steps can be combined into a single CLI/API call with flags for adding signatures and indicating which keys should be trusted. +1. Copy the artifact and any delegated targets metadata to the target repository on the destination registry. +1. Update the top-level targets metadata on the destination repository to indicate that the original uploader's signature should be trusted +1. Add a signature to the artifact from the verifier or other entity and update the top-level targets metadata accordingly +1. (Automated) Update the snapshot and timestamp metadata on the destination registry. From a201593bf23fb8e357af1505756858d78e6a2120 Mon Sep 17 00:00:00 2001 From: Marina Moore Date: Tue, 15 Feb 2022 11:41:03 -0500 Subject: [PATCH 3/4] Clarify movement scenarios Signed-off-by: Marina Moore --- docs/movement.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/movement.md b/docs/movement.md index 939608a..75a09ae 100644 --- a/docs/movement.md +++ b/docs/movement.md @@ -1,35 +1,35 @@ # How to move an artifact signed by tuf-notary There are a few scenarios for moving artifacts covered in this document: -* Mirroring the artifact and TUF metadata -* Copying the image without the original signature (or from a registry that doesn't use TUF) -* Copying the image and the original signature -* Copying the image, original signature, and adding an additional verifier's signature +* *Mirroring the artifact and TUF metadata* The user wants to mirror an entire registry, including signatures. +* *Copying the image without the original signature* The user wants to promote an artifact from another registry, but does not want to copy any signatures. This method will also be used when copying from a registry that doesn't use TUF or signatures. +* *Copying the image and the original signature(s) from the source registry* The user wants to copy the artifact, as well as one or more signatures into the destination registry. These signatures can be used to associate the image with the original uploader or to maintain a record of attestations of previous steps in the supply chain (build, etc). +* *Copying the image, original signature(s), and adding an additional verifier's signature* The user wants to copy the artifact and one or more signatures, as well as adding an additional attestation to the artifact. This additional attestation can indicate that certain verification has been done, or that the copy was done by the correct entity. In all but the first scenario we assume that the destination registry already has a top-level TUF repository set up. -All of these steps for each scenario can be combined into a single CLI/API call with flags indicating whether the original signature is copied, and if a new signature is to be added. +All of these steps for each scenario can be combined into a single CLI/API call with flags indicating whether the original signature is copied, and if a new signature is to be added. These scenarios are broken out here for clarity about what will happen with the underlying metadata. ## Mirroring the artifact and TUF metadata -Copy the artifact, signature, and all top-level TUF metadata to the new registry. The mirror will want to ensure that copies are frequent enough that the timestamp and snapshot remain valid. +Copy the artifact, signature, and all top-level TUF metadata to the new registry. The mirror will want to ensure that copies are frequent enough that the timestamp and snapshot metadata remain valid. So, if the timestamp metadata on the source registry expires every hour, the destination registry will want to ensure it is copied at least every hour. Artifacts and signatures will likely expire less frequently, so a mirror may optimize by only copying artifacts and metadata that have changed. ## Copying the image without the original signature 1. Copy the artifact to the target repository on the destination registry. -1. Add a TUF signature to the artifact from the verifier or other entity and update the top-level targets metadata accordingly +1. Add a TUF signature to the artifact from the verifier or other entity and update the top-level targets metadata accordingly. This will follow the standard signature workflow. 1. (Automated) Update the snapshot and timestamp metadata on the destination registry. -## Copying the image and the original signature +## Copying the image and the original signature(s) -1. Copy the artifact and any delegated targets metadata to the target repository on the destination registry. -1. Update the top-level targets metadata on the destination repository to indicate that the original uploader's signature should be trusted +1. Copy the artifact and any delegated targets metadata (signatures) that you wish to copy to the target repository on the destination registry. +1. Update the top-level targets metadata on the destination repository to indicate that the original uploaders' signature(s) should be trusted. To do so, add delegations to all public keys associated with signatures that have been copied. This explicitly states which signatures should be associated with the copied artifact. 1. (Automated) Update the snapshot and timestamp metadata on the destination registry. -## Copying the image, original signature, and adding an additional verifier's signature +## Copying the image, original signature(s), and adding an additional verifier's signature 1. Copy the artifact and any delegated targets metadata to the target repository on the destination registry. -1. Update the top-level targets metadata on the destination repository to indicate that the original uploader's signature should be trusted -1. Add a signature to the artifact from the verifier or other entity and update the top-level targets metadata accordingly +1. Update the top-level targets metadata on the destination repository to indicate that the original uploaders' signature(s) should be trusted, as in the previous scenario. +1. Add a signature to the artifact from the verifier or other entity and update the top-level targets metadata accordingly. This will follow the standard signature workflow. 1. (Automated) Update the snapshot and timestamp metadata on the destination registry. From 5e4df38659ad8ac64466361310ca05c1e4b87b1d Mon Sep 17 00:00:00 2001 From: Marina Moore Date: Tue, 8 Mar 2022 15:44:10 -0500 Subject: [PATCH 4/4] Formatting changes and clarification Signed-off-by: Marina Moore --- docs/movement.md | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/docs/movement.md b/docs/movement.md index 75a09ae..fd79a2e 100644 --- a/docs/movement.md +++ b/docs/movement.md @@ -1,31 +1,36 @@ # How to move an artifact signed by tuf-notary There are a few scenarios for moving artifacts covered in this document: -* *Mirroring the artifact and TUF metadata* The user wants to mirror an entire registry, including signatures. -* *Copying the image without the original signature* The user wants to promote an artifact from another registry, but does not want to copy any signatures. This method will also be used when copying from a registry that doesn't use TUF or signatures. -* *Copying the image and the original signature(s) from the source registry* The user wants to copy the artifact, as well as one or more signatures into the destination registry. These signatures can be used to associate the image with the original uploader or to maintain a record of attestations of previous steps in the supply chain (build, etc). -* *Copying the image, original signature(s), and adding an additional verifier's signature* The user wants to copy the artifact and one or more signatures, as well as adding an additional attestation to the artifact. This additional attestation can indicate that certain verification has been done, or that the copy was done by the correct entity. +1. *Mirroring the artifact and TUF metadata* The user wants to mirror an entire registry, including signatures. +2. *Copying the image without no references* The user wants to promote an artifact from another registry, but does not want to copy any signatures. This method will also be used when copying from a registry that doesn't use TUF or signatures. +3. *Copying the image and the original signature(s) from the source registry* The user wants to copy the artifact, as well as one or more signatures into the destination registry. These signatures can be used to associate the image with the original uploader or to maintain a record of attestations of previous steps in the supply chain (build, etc). +4. *Copying the image, original signature(s), and adding an additional verifier's signature* The user wants to copy the artifact and one or more signatures, as well as adding an additional attestation to the artifact. This additional attestation can indicate that certain verification has been done, or that the copy was done by the correct entity. In all but the first scenario we assume that the destination registry already has a top-level TUF repository set up. -All of these steps for each scenario can be combined into a single CLI/API call with flags indicating whether the original signature is copied, and if a new signature is to be added. These scenarios are broken out here for clarity about what will happen with the underlying metadata. +All of these steps for each scenario can be combined into a single CLI/API call with flags indicating whether the original signature is copied, and if a new signature is to be added. +These scenarios are broken out here for clarity about what will happen with the underlying metadata. -## Mirroring the artifact and TUF metadata -Copy the artifact, signature, and all top-level TUF metadata to the new registry. The mirror will want to ensure that copies are frequent enough that the timestamp and snapshot metadata remain valid. So, if the timestamp metadata on the source registry expires every hour, the destination registry will want to ensure it is copied at least every hour. Artifacts and signatures will likely expire less frequently, so a mirror may optimize by only copying artifacts and metadata that have changed. +## 1. Mirroring the artifact and TUF metadata -## Copying the image without the original signature +Copy the artifact, signature, and all top-level TUF metadata to the new registry. +The mirror will want to ensure that copies are frequent enough that the timestamp and snapshot metadata remain valid. +So, if the timestamp metadata on the source registry expires every hour, the destination registry will want to ensure it is copied at least every hour. +Artifacts and signatures will likely expire less frequently, so a mirror may optimize by only copying artifacts and metadata that have changed. + +## 2. Copying the image without no references 1. Copy the artifact to the target repository on the destination registry. 1. Add a TUF signature to the artifact from the verifier or other entity and update the top-level targets metadata accordingly. This will follow the standard signature workflow. 1. (Automated) Update the snapshot and timestamp metadata on the destination registry. -## Copying the image and the original signature(s) +## 3. Copying the image and the original signature(s) 1. Copy the artifact and any delegated targets metadata (signatures) that you wish to copy to the target repository on the destination registry. 1. Update the top-level targets metadata on the destination repository to indicate that the original uploaders' signature(s) should be trusted. To do so, add delegations to all public keys associated with signatures that have been copied. This explicitly states which signatures should be associated with the copied artifact. 1. (Automated) Update the snapshot and timestamp metadata on the destination registry. -## Copying the image, original signature(s), and adding an additional verifier's signature +## 4. Copying the image, original signature(s), and adding an additional verifier's signature