Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sign published docker images [ossf silver] #2470

Open
bnevis-i opened this issue Apr 6, 2020 · 0 comments
Open

Sign published docker images [ossf silver] #2470

bnevis-i opened this issue Apr 6, 2020 · 0 comments
Labels
1-low priority denoting isolated changes enhancement New feature or request security_audit Track issues that are related to CVE/CVSS/CWE auditing etc

Comments

@bnevis-i
Copy link
Collaborator

bnevis-i commented Apr 6, 2020

🚀 Feature Request

Description

Enable image signing for image published to Docker Hub.

Use case is that this enables end-users to pull images where DOCKER_CONTENT_TRUST=1.

OpenSSF silver badge requirement:
The project MUST cryptographically sign releases of the project results intended for widespread use, and there MUST be a documented process explaining to users how they can obtain the public signing keys and verify the signature(s). The private key for these signature(s) MUST NOT be on site(s) used to directly distribute the software to the public. If releases are not intended for widespread use, select "not applicable" (N/A). [signed_releases]
The project results include both source code and any generated deliverables where applicable (e.g., executables, packages, and containers). Generated deliverables MAY be signed separately from source code. These MAY be implemented as signed git tags (using cryptographic digital signatures). Projects MAY provide generated results separately from tools like git, but in those cases, the separate results MUST be separately signed.

Docker Hub Image Signing Requirements

(Note: emphasis added for specific requirements.)

From https://docs.docker.com/docker-hub/publish/trustchain/

The Docker Hub has a thorough and well-defined certification process to ensure top-quality content from producers is delivered to consumers in a trusted manner. As a producer of content, you are required to sign your images so that Docker can verify that your content is not tampered with upon starting the image certification and publishing process as outlined below:

Producers sign and push their images using Docker Content Trust to a private staging area. To do this, run a docker push command with Content Trust enabled:

 DOCKER_CONTENT_TRUST=1 docker push <image>

Docker verifies the signatures to guarantee authenticity, integrity, and freshness of the image. All of the individual layers of your image, and the combination thereof, are encompassed as part of this verification check. Read more detail about Content Trust in Docker’s documentation.

Upon a successful signature verification, Docker pulls the original image to a private, internal staging area only accessible to the Docker Hub certification team.

The Docker Hub certification team performs a thorough review of the image, looking for vulnerabilities and verifying best practices for image hygiene, such as ensuring minimal image sizes and working health-checks.

Upon a successful review, Docker signs the image and makes it officially available on Docker Hub. Similar to artifacts on the Apple Store, this is the final and only signature on the image. Your consumers confirm that the full certification process was completed by checking Docker’s signature by pulling and running with Docker Content Trust:

 DOCKER_CONTENT_TRUST=1 docker pull <image>

 DOCKER_CONTENT_TRUST=1 docker run <image>

Notes

It seems possible (experimentally verified) to sign image published to dockerhub using docker content trust, even if you don't request an officially vetted image.

@bnevis-i bnevis-i added enhancement New feature or request security_audit Track issues that are related to CVE/CVSS/CWE auditing etc labels Apr 6, 2020
@bnevis-i bnevis-i added the 1-low priority denoting isolated changes label Nov 5, 2020
@bnevis-i bnevis-i changed the title Image signing for EdgeX images published to Docker Hub Sign published docker images [ossf silver] Nov 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1-low priority denoting isolated changes enhancement New feature or request security_audit Track issues that are related to CVE/CVSS/CWE auditing etc
Projects
Status: Icebox
Development

No branches or pull requests

2 participants