Join our Discord Server
Avinash Bendigeri Avinash is a developer-turned Technical writer skilled in core content creation. He has an excellent track record of blogging in areas like Docker, Kubernetes, IoT and AI.

OpenPubkey or SigStore – Which one to choose?

5 min read

Container signing is a critical security practice for verifying the authenticity and integrity of containerized applications. It helps to ensure that containers have not been tampered with and that they contain the code that they are supposed to contain. There are a number of different container signing solutions available, but two of the most popular are SigStore and Pubkey.

SigStore

SigStore is an open source project that provides a complete solution for container signing. It includes a certificate authority, a transparency log, and a set of tools for signing and verifying containers. SigStore is supported by a number of major companies, including Google, Red Hat, and Chainguard.

SigStore is important because it helps to ensure the authenticity and integrity of containerized applications. Containerized applications are packaged as a self-contained unit with all of the dependencies they need to run, making them easy to deploy and manage. However, this also makes them vulnerable to tampering. SigStore helps to prevent tampering by providing a way to sign and verify containers.

To use SigStore, you first need to obtain a certificate from the SigStore certificate authority. Once you have a certificate, you can use the SigStore tools to sign your containers. Once a container has been signed, it can be verified using the SigStore tools.

SigStore offers a number of benefits, including:

  • Improved security: SigStore helps to improve the security of containerized applications by preventing tampering.
  • Increased trust: SigStore helps to increase trust in containerized applications by providing a way to verify their authenticity and integrity.
  • Compliance: SigStore can help organizations to comply with various regulations that require container signing.

SigStore is a valuable tool for anyone who develops or uses containerized applications. It helps to improve security, increase trust, and ensure compliance.

Here are some examples of how SigStore can be used:

  • A software developer can use SigStore to sign their containerized application before deploying it to production. This helps to ensure that the application has not been tampered with and that it contains the code that it is supposed to contain.
  • A system administrator can use SigStore to verify the authenticity and integrity of containerized applications before deploying them to their environment. This helps to prevent malicious actors from deploying tampered containers to the environment.
  • A security team can use SigStore to monitor the signing status of containerized applications. This helps to identify any applications that have not been signed or that have been signed with a compromised certificate.
  • SigStore is a powerful tool that can help to improve the security of containerized applications. It is a valuable tool for anyone who develops or uses containerized applications.

Pubkey

Pubkey is a lightweight container signing solution that is built on top of OpenPGP. It is easy to use and does not require any additional infrastructure. Pubkey is supported by a number of open source projects, including Helm and Kubernetes.

To use Pubkey, you first need to generate a public/private key pair. Once you have a key pair, you can use the Pubkey tools to sign your containers. Once a container has been signed, it can be verified using the Pubkey tools.

Pubkey offers a number of benefits, including:

  • Ease of use: Pubkey is easy to use and does not require any additional infrastructure.
  • Lightweight: Pubkey is a lightweight solution that does not add significant overhead to your containerized applications.
  • Open source: Pubkey is an open source solution that is supported by a number of open source projects.

Pubkey is a good choice for organizations that are looking for a lightweight and easy-to-use container signing solution. It is a good choice for organizations that are also using Helm or Kubernetes.

Here are some examples of how Pubkey can be used:

  • A software developer can use Pubkey to sign their containerized application before deploying it to production. This helps to ensure that the application has not been tampered with and that it contains the code that it is supposed to contain.
  • A system administrator can use Pubkey to verify the authenticity and integrity of containerized applications before deploying them to their environment. This helps to prevent malicious actors from deploying tampered containers to the environment.
  • A security team can use Pubkey to monitor the signing status of containerized applications. This helps to identify any applications that have not been signed or that have been signed with a compromised certificate.
  • Pubkey is a valuable tool that can help to improve the security of containerized applications. It is a good choice for organizations that are looking for a lightweight and easy-to-use container signing solution.

OpenPubKey

OpenPubKey is a new protocol for container signing that aims to be simpler and more lightweight than existing solutions. It uses the OIDC nonce claim to store public keys, which allows it to avoid the need for a separate key management system.

OpenPubKey is still under development, but it has the potential to be a valuable tool for developers and security teams. It could make it easier to sign and verify containers, which could help to improve the security of containerized applications.

However, there are also some concerns about OpenPubKey. One concern is that it relies on centralized trust in OIDC IdPs. If an IdP is compromised, attackers could gain control of all of the identities associated with that IdP. Another concern is that OpenPubKey does not have a built-in mechanism for handling key rotation. This means that if an IdP rotates its keys, OpenPubKey clients will need to be updated to use the new keys. This could be disruptive and difficult to manage, especially in large environments.

Overall, OpenPubKey is a promising new protocol for container signing. However, it is important to be aware of the concerns raised by the comments you have shared before using OpenPubKey in production.

Why Docker is interested in OpenPubkey

OpenPubKey is a new protocol for container signing that aims to be simpler and more lightweight than existing solutions. It uses the OIDC nonce claim to store public keys, which allows it to avoid the need for a separate key management system.

Docker is interested in OpenPubKey because it has the potential to make it easier and more secure to deploy containerized applications. OpenPubKey could also help to improve the transparency and trustworthiness of containerized applications.

Here are some specific benefits of OpenPubKey for Docker and its users:

  • Simplified container signing: OpenPubKey makes it easy to sign containers without the need for a separate key management system. This is because it uses the OIDC nonce claim to store public keys.
  • Improved security: OpenPubKey can help to improve the security of containerized applications by making it more difficult for attackers to tamper with containers.
  • Transparency and trustworthiness: OpenPubKey can help to improve the transparency and trustworthiness of containerized applications by making it easier to verify the authenticity of containers.

Overall, OpenPubKey is a promising new protocol for container signing that has the potential to make it easier and more secure to deploy containerized applications. Docker is interested in OpenPubKey because it could help to improve the overall experience of using Docker for containerized application development and deployment.

Here are some specific ways that Docker could use OpenPubKey:

  • Docker could integrate OpenPubKey into its CLI and Dockerfile syntax. This would make it easier for users to sign containers without having to use a separate tool.
  • Docker could use OpenPubKey to sign its own Docker images. This would help to ensure the authenticity and integrity of Docker images.
  • Docker could work with other industry leaders to develop a standard for container signing using OpenPubKey. This would help to promote the adoption of OpenPubKey and make it easier for users to sign and verify containers from different sources.

Overall, OpenPubKey has the potential to make a significant impact on the way that containerized applications are developed and deployed. Docker is well-positioned to play a leading role in the adoption of OpenPubKey and to help make containerized applications more secure and trustworthy.

Latest News: In Dockercon 2023, Docker announced its interest to use OpenPubkey, a project jointly developed by BastionZero and Docker and recently open-sourced and donated to the Linux Foundation, as part of our signing solution for Docker Official Images (DOI)

Comparison

The following table compares SigStore and Pubkey:

Feature OpenPubKey SigStore
Key storage OIDC nonce claim Certificate authority (CA)
Key rotation No built-in mechanism Built-in mechanism
Transparency log No Yes
Ease of use Easier More complex
Infrastructure requirements None CA and transparency log
Community size Smaller Larger
Adoption Less widespread More widespread

The best container signing solution for you will depend on your specific needs and requirements. If you are looking for a complete solution that provides a high level of security and compliance, then SigStore is a good choice. If you are looking for a lightweight and easy-to-use solution, then Pubkey is a good choice.

Here are some additional things to consider when choosing a container signing solution:

  • Security: How important is security to you? SigStore provides a higher level of security than Pubkey because it uses a certificate authority and a transparency log.
  • Ease of use: How easy do you need the solution to be to use? Pubkey is easier to use than SigStore because it does not require any additional infrastructure.
  • Infrastructure requirements: Do you have the resources to support the required infrastructure? SigStore requires a certificate authority and a transparency log, which can be complex and expensive to maintain. Pubkey does not require any additional infrastructure.
  • Community support: How important is community support to you? SigStore has a larger and more active community than Pubkey.

Conclusion

SigStore and OpenPubkey are both good container signing solutions. The best solution for you will depend on your specific needs and requirements. Consider the factors listed above when choosing a container signing solution.

Join the HN Conversation

https://news.ycombinator.com/item?id=37786781

Have Queries? Join https://launchpass.com/collabnix

Avinash Bendigeri Avinash is a developer-turned Technical writer skilled in core content creation. He has an excellent track record of blogging in areas like Docker, Kubernetes, IoT and AI.
Join our Discord Server
Index