[tc][all][security] Supporting Post-Quantum Cryptography in OpenStack code (all projects)
Hi, I am the OpenStack Security Product Manager at Red Hat. I also support Post Quantum Cryptography in OpenStack and k8s (well, OpenShift for us), and I cover some areas of confidential computing. I see one existential risk to OpenStack in the near future: support for post-quantum cryptography (PQC) [0] Based on my latest discussion with industry experts, I expect that around 2029 (likely) or 2030 (at best), there would be powerful enough Q-Computers to break traditional cryptography. Meaning we have to prepare OpenStack to support post-quantum crypto (ML-KEM urgently, ML-DSA as soon as possible) in the upstream code. As we also need to provide time for operators/customers to implement the "fixed" code, we are in early 2028 territory to achieve sufficient PQC coverage in OpenStack upstream. This would give OpenStack users time to implement this code. Time is running out; we’re already almost in 2026! A point to keep in mind is that the initial PQC algorithms might fall short and be replaced in the future. Thus, this PQC support exercise should also be a “cryptographic agility” exercise: we should have a few libraries we know how to call, and if a new crypto algorithm comes out, it should be easy to enable it in the code. I used AI engines to have a look at the OpenStack upstream code (not all projects, but a chunk of the most commonly used), and I came back with 17 different cryptographic modules, 7 of which received no commits in over 2 years. It might be directly in the code or in pulled dependencies. The first step to solving a problem is recognizing we have one. We have a problem. I am seeking help from the TC to raise the urgency of this work across all OpenStack projects and to help me lead an effort to reduce the number of cryptographic modules used in OpenStack (my personal opinion is that there should be no more than five). Doing this may involve work in each OpenStack Project team; and I can help organize this effort. I'm seeking the following from the TC and/or project teams: Portions of this work will be isolated to specific repositories managed by a project team, while others will involve "cross-project" synchronization. What vehicles can we use to have a "call-to-action" for project teams to get someone to look into their specific projects? How can we go about community wide collaboration? I've created a document [1] that I assembled from AI analysis of part of the OpenStack code. It gives an overall view of the problem we face. Looking forward to hearing from you and collaborating upstream to improve OpenStack. Regards, Jean-Philippe (JP) Jung jjung@redhat.com irc: jjung [0] Quantum what? Quantum computers will break current encryption algorithms like RSA and elliptic curve cryptography using Shor's algorithm, exposing all data encrypted today. Adversaries are already harvesting encrypted data to decrypt later once quantum computers mature. OpenStack powers critical cloud infrastructure globally. Deploying post-quantum cryptography (PQC) upstream is essential because downstream distributions and deployments inherit these security foundations. Without upstream PQC integration, the entire OpenStack ecosystem remains vulnerable, putting sensitive workloads, government systems, and enterprise data at risk. The migration takes years, so implementing PQC now in the codebase is operationally necessary, not optional. [1] https://wiki.openstack.org/wiki/Post_quantum_openstack
Hi Jean-Philippe, Very interesting topic. OpenStack and their code/libraries are well covered in this wiki post, but how about the infrastructure (for example SSH servers, installed via OS packages on the Cloud hosts)? What about OpenStack development (for example SSH server behind the Gerrit Code Review system)? On Fri, Oct 24, 2025 at 11:19 PM Jean-Philippe Jung <jjung@redhat.com> wrote:
Hi,
I am the OpenStack Security Product Manager at Red Hat. I also support Post Quantum Cryptography in OpenStack and k8s (well, OpenShift for us), and I cover some areas of confidential computing.
I see one existential risk to OpenStack in the near future: support for post-quantum cryptography (PQC) [0]
Based on my latest discussion with industry experts, I expect that around 2029 (likely) or 2030 (at best), there would be powerful enough Q-Computers to break traditional cryptography. Meaning we have to prepare OpenStack to support post-quantum crypto (ML-KEM urgently, ML-DSA as soon as possible) in the upstream code. As we also need to provide time for operators/customers to implement the "fixed" code, we are in early 2028 territory to achieve sufficient PQC coverage in OpenStack upstream. This would give OpenStack users time to implement this code. Time is running out; we’re already almost in 2026!
A point to keep in mind is that the initial PQC algorithms might fall short and be replaced in the future. Thus, this PQC support exercise should also be a “cryptographic agility” exercise: we should have a few libraries we know how to call, and if a new crypto algorithm comes out, it should be easy to enable it in the code.
I used AI engines to have a look at the OpenStack upstream code (not all projects, but a chunk of the most commonly used), and I came back with 17 different cryptographic modules, 7 of which received no commits in over 2 years. It might be directly in the code or in pulled dependencies. The first step to solving a problem is recognizing we have one. We have a problem.
I am seeking help from the TC to raise the urgency of this work across all OpenStack projects and to help me lead an effort to reduce the number of cryptographic modules used in OpenStack (my personal opinion is that there should be no more than five).
Doing this may involve work in each OpenStack Project team; and I can help organize this effort. I'm seeking the following from the TC and/or project teams: Portions of this work will be isolated to specific repositories managed by a project team, while others will involve "cross-project" synchronization. What vehicles can we use to have a "call-to-action" for project teams to get someone to look into their specific projects? How can we go about community wide collaboration?
I've created a document [1] that I assembled from AI analysis of part of the OpenStack code. It gives an overall view of the problem we face.
Looking forward to hearing from you and collaborating upstream to improve OpenStack.
Regards,
Jean-Philippe (JP) Jung jjung@redhat.com irc: jjung
[0] Quantum what? Quantum computers will break current encryption algorithms like RSA and elliptic curve cryptography using Shor's algorithm, exposing all data encrypted today. Adversaries are already harvesting encrypted data to decrypt later once quantum computers mature. OpenStack powers critical cloud infrastructure globally. Deploying post-quantum cryptography (PQC) upstream is essential because downstream distributions and deployments inherit these security foundations. Without upstream PQC integration, the entire OpenStack ecosystem remains vulnerable, putting sensitive workloads, government systems, and enterprise data at risk. The migration takes years, so implementing PQC now in the codebase is operationally necessary, not optional.
-- Regards, Maksim Malchuk
On Fri, Oct 24, 2025, at 1:59 PM, Maksim Malchuk wrote:
Hi Jean-Philippe,
Very interesting topic. OpenStack and their code/libraries are well covered in this wiki post, but how about the infrastructure (for example SSH servers, installed via OS packages on the Cloud hosts)?
OpenSSH 10 will use mlkem768x25519-sha256 for key agreement by default. Earlier versions of OpenSSH have some support for these algorithms, but looks like version 10 is where you should start to see them used by default.
What about OpenStack development (for example SSH server behind the Gerrit Code Review system)?
Gerrit uses the MINA SSHD which added support for ml-kem in version 2.15.0 via bouncy castle. Gerrit 3.12 includes MINA SSHD 2.15.0.
On Sat, Oct 25, 2025 at 12:15 AM Clark Boylan <cboylan@sapwetik.org> wrote:
On Fri, Oct 24, 2025, at 1:59 PM, Maksim Malchuk wrote:
Hi Jean-Philippe,
Very interesting topic. OpenStack and their code/libraries are well covered in this wiki post, but how about the infrastructure (for example SSH servers, installed via OS packages on the Cloud hosts)?
OpenSSH 10 will use mlkem768x25519-sha256 for key agreement by default. Earlier versions of OpenSSH have some support for these algorithms, but looks like version 10 is where you should start to see them used by default.
OpenSSH 10 is a great solution, but the question is how to deal with current OSes? For example Ubuntu 24.04 (current LTS) still uses OpenSSH 9.6, but MLKEM support was added only in the OpenSSH 9.9. Should we use backports? or wait for 25.04 support in deployment tools and do an upgrade?
What about OpenStack development (for example SSH server behind the Gerrit Code Review system)?
Gerrit uses the MINA SSHD which added support for ml-kem in version 2.15.0 via bouncy castle. Gerrit 3.12 includes MINA SSHD 2.15.0.
-- Regards, Maksim Malchuk
On 2025-10-25 00:49:30 +0300 (+0300), Maksim Malchuk wrote: [...]
OpenSSH 10 is a great solution, but the question is how to deal with current OSes?
For example Ubuntu 24.04 (current LTS) still uses OpenSSH 9.6, but MLKEM support was added only in the OpenSSH 9.9. Should we use backports? or wait for 25.04 support in deployment tools and do an upgrade? [...]
This sounds like a great question for your operating system vendor. I don't think the OpenStack community can solve that problem for you (nor should we try to). Being flexible and adaptive to the ever-changing security landscape is something we should aspire to regardless, and doesn't require a quantum boogeyman to make it so. We can work on keeping OpenStack secure, and let the people who make operating systems work on keeping those secure, whether it's from quantum key factoring at some point in the (impossible to predict) future, or the very many actual real-world threats we all face today. -- Jeremy Stanley
On Sat, Oct 25, 2025 at 1:20 AM Jeremy Stanley <fungi@yuggoth.org> wrote: This sounds like a great question for your operating system vendor.
I don't think the OpenStack community can solve that problem for you (nor should we try to).
This is not really related to only my (lol) operating system vendor. For example, this is related to the two most used OpenStack deployment tools which depend on affected OSes: 1. https://docs.openstack.org/kolla-ansible/latest/user/support-matrix.html 2. https://docs.openstack.org/openstack-ansible/latest/admin/upgrades/compatibi... Both Kolla-Ansible and OpenStack-Ansible support only Ubuntu 24.04 which doesn't contain even 9.9 OpenSSH. -- Regards, Maksim Malchuk
On 2025-10-25 02:57:06 +0300 (+0300), Maksim Malchuk wrote: [...]
This is not really related to only my (lol) operating system vendor. For example, this is related to the two most used OpenStack deployment tools which depend on affected OSes:
1. https://docs.openstack.org/kolla-ansible/latest/user/support-matrix.html
2. https://docs.openstack.org/openstack-ansible/latest/admin/upgrades/compatibi...
Both Kolla-Ansible and OpenStack-Ansible support only Ubuntu 24.04 which doesn't contain even 9.9 OpenSSH.
And you don't ever plan to upgrade to a newer version of OpenStack in the future, or assume that for some reason OpenStack is just going to cease supporting newer LTS distributions once they're available? OpenStack has a policy of testing on the most recent LTS distributions available at the start of each development cycle. That implies, e.g., that OpenStack's 2026.2 coordinated release will target Ubuntu 2026.4 LTS as a tested platform. That's still years ahead of the suggested 2029 "deadline" for PQC support. I'm really unclear on what actual concern you're trying to raise, much less what your plans are to solve them from within the OpenStack community. -- Jeremy Stanley
On Sat, Oct 25, 2025 at 8:25 PM Jeremy Stanley <fungi@yuggoth.org> wrote:
I'm really unclear on what actual concern you're trying to raise, much less what your plans are to solve them from within the OpenStack community.
I'm trying to understand the urgency of the work Jean-Philippe is seeking for, and plan the infrastructure upgrade/support in the near future, not only Openstack code described in the wiki. If we are talking about infrastructure, are we waiting until 2029 when Ubuntu LTS versions will already have supported SSH versions with MLKEM ? If we are talking about the urgency of supporting MLKEM on current SSH versions, then we need to use backports. This means we need to add this now to the current deployment tools. -- Regards, Maksim Malchuk
On 2025-10-26 16:23:45 +0300 (+0300), Maksim Malchuk wrote: [...]
I'm trying to understand the urgency of the work Jean-Philippe is seeking for, and plan the infrastructure upgrade/support in the near future, not only Openstack code described in the wiki.
In my professional opinion, as well as that of the many long-time career cryptographers I interact with[*], "not very urgent." Actual usable quantum computers don't exist today, and when they'll exist depends on physicists making a number of unpredictable scientific breakthroughs. Separate from that, synthetic (emulated) quantum computers don't yet have any viable algorithms for factoring anything more than trivial prime products. Further, nobody knows what novel cryptanalitic attacks any real quantum computer will eventually enable. In short, designing a cryptographic defense against quantum computers is akin to designing an orbital defense against alien invaders. Anyone who claims to know *when* quantum computers will be more usable for cryptanalysis than conventional computers or *how* to thwart them is either selling something or has a working time machine. The market is flooded with PQC snakeoil vendors, so whenever you read their doomsday predictions just try to keep an open mind and don't get caught up in the panic-driven profiteering they're trying to create. There are real security threats *today* that we should be putting more effort into mitigating, which as a side effect can hopefully also make our software more robust against fictional (from the present perspective) quantum computers and space invaders.
If we are talking about infrastructure, are we waiting until 2029 when Ubuntu LTS versions will already have supported SSH versions with MLKEM ? If we are talking about the urgency of supporting MLKEM on current SSH versions, then we need to use backports. This means we need to add this now to the current deployment tools.
OpenSSH 10 is already in Ubuntu 25.10 (non-LTS), so should be included in Ubuntu 26.04 LTS which will be available for testing at the start of the OpenStack 2026.2 development cycle and therefore also a supported target platform for OpenStack 2027.1 (the next SLURP release). By 2029, any OpenStack releases not tested on platforms with OpenSSH 10 will be unmaintained/end of life even. But keep in mind that there are so-called PQC key exchange/agreement algorithms available back to OpenSSH 9.0[**] several years ago (available in the current Ubuntu 24.04 LTS). Don't get me wrong, I agree that we should be taking a close look at the highlighted parts of our codebase. If the quantum computing buzzword gives devs an excuse they can use to convince their managers to let them spend time on this, and makes operators more likely to keep their systems and software upgraded, then that's fine by me. Just don't buy into the industry scaremongering, and make sure to spend these precious resources in areas where they'll provide a tangible benefit whether or not quantum computing ever becomes viable. [*] https://www.metzdowd.com/pipermail/cryptography/2025-February/038625.html [**] https://www.openssh.com/pq.html -- Jeremy Stanley
On Fri, Oct 24, 2025, at 1:06 PM, Jean-Philippe Jung wrote:
Hi,
I am the OpenStack Security Product Manager at Red Hat. I also support Post Quantum Cryptography in OpenStack and k8s (well, OpenShift for us), and I cover some areas of confidential computing.
I see one existential risk to OpenStack in the near future: support for post-quantum cryptography (PQC) [0]
Based on my latest discussion with industry experts, I expect that around 2029 (likely) or 2030 (at best), there would be powerful enough Q-Computers to break traditional cryptography. Meaning we have to prepare OpenStack to support post-quantum crypto (ML-KEM urgently, ML-DSA as soon as possible) in the upstream code. As we also need to provide time for operators/customers to implement the "fixed" code, we are in early 2028 territory to achieve sufficient PQC coverage in OpenStack upstream. This would give OpenStack users time to implement this code. Time is running out; we’re already almost in 2026!
A point to keep in mind is that the initial PQC algorithms might fall short and be replaced in the future. Thus, this PQC support exercise should also be a “cryptographic agility” exercise: we should have a few libraries we know how to call, and if a new crypto algorithm comes out, it should be easy to enable it in the code.
I used AI engines to have a look at the OpenStack upstream code (not all projects, but a chunk of the most commonly used), and I came back with 17 different cryptographic modules, 7 of which received no commits in over 2 years. It might be directly in the code or in pulled dependencies. The first step to solving a problem is recognizing we have one. We have a problem.
I am seeking help from the TC to raise the urgency of this work across all OpenStack projects and to help me lead an effort to reduce the number of cryptographic modules used in OpenStack (my personal opinion is that there should be no more than five).
Doing this may involve work in each OpenStack Project team; and I can help organize this effort. I'm seeking the following from the TC and/or project teams: Portions of this work will be isolated to specific repositories managed by a project team, while others will involve "cross-project" synchronization. What vehicles can we use to have a "call-to-action" for project teams to get someone to look into their specific projects? How can we go about community wide collaboration?
I've created a document [1] that I assembled from AI analysis of part of the OpenStack code. It gives an overall view of the problem we face.
While relying on many unmaintained libraries to solve similar problems is an issue, I'm not sure this really articulates why OpenStack needs post quantum crypto support (which specific features are most at risk etc). It also doesn't seem to propose any concrete solutions. From what I can tell https://pypi.org/project/quantcrypt/ is the option within the python ecosystem today. Which actually means the solution here is adding more cryptographic library tooling to OpenStack. Thinking out loud it might be helpful to determine which specific areas of OpenStack are most at risk of having data captured and stored for later decryption efforts then target adding support for quantcrypt provided encryption to those areas. Rather than try and boil the ocean with a complete cryptographic overhaul of OpenStack start with small concrete achievable improvements. Then take what is learned from that process to apply it more broadly. In general bite sized solvable problems tend to get more traction over time compared to massive undertakings that feel insurmountable. This is why I think it would be good to start with something small and achievable that provides real benefit. We can also separately work on cleaning up the reliance on unmaintained libraries, but if we're going to be adding a new library to support this use case anyway then cleanup seems somewhat orthogonal to me. That said I'm not core for any openstack service and I am not on the TC. Others with more direct involvement may have a different perspective.
Looking forward to hearing from you and collaborating upstream to improve OpenStack.
Regards,
Jean-Philippe (JP) Jung jjung@redhat.com irc: jjung
[0] Quantum what? Quantum computers will break current encryption algorithms like RSA and elliptic curve cryptography using Shor's algorithm, exposing all data encrypted today. Adversaries are already harvesting encrypted data to decrypt later once quantum computers mature. OpenStack powers critical cloud infrastructure globally. Deploying post-quantum cryptography (PQC) upstream is essential because downstream distributions and deployments inherit these security foundations. Without upstream PQC integration, the entire OpenStack ecosystem remains vulnerable, putting sensitive workloads, government systems, and enterprise data at risk. The migration takes years, so implementing PQC now in the codebase is operationally necessary, not optional.
On Fri, Oct 24, 2025 at 1:19 PM Jean-Philippe Jung <jjung@redhat.com> wrote:
Hi,
I am seeking help from the TC to raise the urgency of this work across all OpenStack projects and to help me lead an effort to reduce the number of cryptographic modules used in OpenStack (my personal opinion is that there should be no more than five).
Doing this may involve work in each OpenStack Project team; and I can help organize this effort. I'm seeking the following from the TC and/or project teams: Portions of this work will be isolated to specific repositories managed by a project team, while others will involve "cross-project" synchronization. What vehicles can we use to have a "call-to-action" for project teams to get someone to look into their specific projects? How can we go about community wide collaboration?
I've created a document [1] that I assembled from AI analysis of part of the OpenStack code. It gives an overall view of the problem we face.
Thank you for starting this discussion, JP. I've added a topic to the TC's PTG for 1600 UTC on Friday, 31st Oct 2025. I hope you'll be able to share your findings there briefly and invite opinions in-sync. Our vehicle for driving cross project work has been via the Community Goals framework: https://governance.openstack.org/tc/goals/ If we have one or more objectives, this can be proposed as one, and will require a "goal champion" - someone that'll help us gather requirements, and coordinate efforts to complete the goal. Some goals in the past have spawned new groups - either as Pop Up Teams or SIGs (https://governance.openstack.org/tc/reference/comparison-of-official-group-s...).
my personal take on this is it may be a vaild future comunicaty goal but its probably premature. in general most openstack project try to not be in the busyness of Cryptography if we can at all avoid it. our dependicies may have cypto feature like ssh, ssl for our rest apis or similar both the openstack code base in general tries to not implement any cypto logic itself. i.e. we try to delegate to python-cryptography or similar well maintained modules. for example just looking at the nova section you mentioned that nova can genreate ssh keys https://wiki.openstack.org/wiki/Post_quantum_openstack#Nova_.28Compute.29 however we deprecatea and removed that capablity in zed relese in micoversion 2.92 https://docs.openstack.org/nova/latest/reference/api-microversion-history.ht... we did that specificly because we did nto want to supprot ssh key generation in nova going forward and defiend that to be out of scope fo our project so that is a non issue in a PQC world because we have decieed as a project not to extend or suprot that api going forward. it has not been removed as we dont do that in nova if its reasonable to keep the code but it shoudl never be used anymore. we only supprot uploading a pre generated public key now. the there two case might be valide ``` Supports validation of Glance image signatures and certificate trust when booting signed images. (link) Metadata path protection with Neutron uses HMAC over Instance-ID to prevent spoofing (shared secret). (link) ``` although for the metadata case that shared secretae is intened to be passed over a https connection so if the ssl encyption for the connection supprot post quantum encyption then the hamc does not really need too but we can likely change that algorhtypme when python cypgoraphy supprot somethign in the future that is a suitable replacement. the glance image verficaiton woudl need glance to support somethign else instead but if they come ups with an updated approch nova coudl adapt. none of the above seem particularly urgent and likely don't need to be addressed in 2026.1 or even 2027.1 but if someone wanted to write a spec for the nova/glance changes and wanted to work on it it could be reviewed via the normal upstream process without needing to make it a comunity goal or have it driven by the TC. you coudl for example create a popup team or sig kind of like the eventlet remvoal work to drive this instead. speaking of which i think the eventlet removal work is gong to take precedence for most team as that is more urgent in terms of real world impact. regards sean. On 27/10/2025 05:14, Goutham Pacha Ravi wrote:
On Fri, Oct 24, 2025 at 1:19 PM Jean-Philippe Jung <jjung@redhat.com> wrote:
Hi,
I am seeking help from the TC to raise the urgency of this work across all OpenStack projects and to help me lead an effort to reduce the number of cryptographic modules used in OpenStack (my personal opinion is that there should be no more than five).
Doing this may involve work in each OpenStack Project team; and I can help organize this effort. I'm seeking the following from the TC and/or project teams: Portions of this work will be isolated to specific repositories managed by a project team, while others will involve "cross-project" synchronization. What vehicles can we use to have a "call-to-action" for project teams to get someone to look into their specific projects? How can we go about community wide collaboration?
I've created a document [1] that I assembled from AI analysis of part of the OpenStack code. It gives an overall view of the problem we face.\
Thank you for starting this discussion, JP. I've added a topic to the TC's PTG for 1600 UTC on Friday, 31st Oct 2025. I hope you'll be able to share your findings there briefly and invite opinions in-sync. Our vehicle for driving cross project work has been via the Community Goals framework: https://governance.openstack.org/tc/goals/ If we have one or more objectives, this can be proposed as one, and will require a "goal champion" - someone that'll help us gather requirements, and coordinate efforts to complete the goal. Some goals in the past have spawned new groups - either as Pop Up Teams or SIGs (https://governance.openstack.org/tc/reference/comparison-of-official-group-s...).
Overall, I agree with a lot of the sentiment and the statements thus far. One key aspect I think we need to ensure is that we don't silo discussions to a specific topic or for example ssh keys. In other words, ultimately the *complete* scope of work remains undefined, and projects *should* identify potential areas of work that they can see, while the overall larger ecosystem moves forward and the overall exact needs are clarified further. The wider process should be to revise a vision and guidelines as time moves forward. For example, it could boil down to a very simple question for projects: Does your project do *anything* in relation to keys, encryption, or interaction of any encrypted data either at rest or while in transit.? If yes, are there actions to take? And then a dialog needs to occur, or at least a framework for understanding if there *really* needs to be an investment in time or resources in that specific instance of usage, or is it just permitting a longer value, or what. Ultimately that is a case by case assessment which needs to be performed. A good first step for any working group would be to create a chart which could be used as a reference for those individual discussions. -Julia On Mon, Oct 27, 2025 at 5:35 AM Sean Mooney <smooney@redhat.com> wrote:
my personal take on this is it may be a vaild future comunicaty goal but its probably premature.
in general most openstack project try to not be in the busyness of Cryptography if we can at all avoid it.
our dependicies may have cypto feature like ssh, ssl for our rest apis or similar both the openstack code base in general tries to not implement any cypto logic itself. i.e. we try to delegate to python-cryptography or similar well maintained modules.
for example just looking at the nova section you mentioned that nova can genreate ssh keys
https://wiki.openstack.org/wiki/Post_quantum_openstack#Nova_.28Compute.29
however we deprecatea and removed that capablity in zed relese in micoversion 2.92
https://docs.openstack.org/nova/latest/reference/api-microversion-history.ht...
we did that specificly because we did nto want to supprot ssh key generation in nova going forward and defiend that to be out of scope fo our project
so that is a non issue in a PQC world because we have decieed as a project not to extend or suprot that api going forward.
it has not been removed as we dont do that in nova if its reasonable to keep the code but it shoudl never be used anymore.
we only supprot uploading a pre generated public key now.
the there two case might be valide
```
Supports validation of Glance image signatures and certificate trust when booting signed images. (link)
Metadata path protection with Neutron uses HMAC over Instance-ID to prevent spoofing (shared secret). (link)
```
although for the metadata case that shared secretae is intened to be passed over a https connection so if the ssl encyption for the connection supprot post quantum encyption then the hamc does not really need too but we can likely change that algorhtypme when python cypgoraphy supprot somethign in the future that is a suitable replacement.
the glance image verficaiton woudl need glance to support somethign else instead but if they come ups with an updated approch nova coudl adapt.
none of the above seem particularly urgent and likely don't need to be addressed in 2026.1 or even 2027.1 but if someone wanted to write a spec for the nova/glance changes and wanted to work on it it could be reviewed via the normal upstream process without needing to make it a comunity goal or have it driven by the TC. you coudl for example create a popup team or sig kind of like the eventlet remvoal work to drive this instead.
speaking of which i think the eventlet removal work is gong to take precedence for most team as that is more urgent in terms of real world impact.
regards
sean.
On 27/10/2025 05:14, Goutham Pacha Ravi wrote:
On Fri, Oct 24, 2025 at 1:19 PM Jean-Philippe Jung <jjung@redhat.com> wrote:
Hi,
I am seeking help from the TC to raise the urgency of this work across all OpenStack projects and to help me lead an effort to reduce the number of cryptographic modules used in OpenStack (my personal opinion is that there should be no more than five).
Doing this may involve work in each OpenStack Project team; and I can help organize this effort. I'm seeking the following from the TC and/or project teams: Portions of this work will be isolated to specific repositories managed by a project team, while others will involve "cross-project" synchronization. What vehicles can we use to have a "call-to-action" for project teams to get someone to look into their specific projects? How can we go about community wide collaboration?
I've created a document [1] that I assembled from AI analysis of part of the OpenStack code. It gives an overall view of the problem we face.\
Thank you for starting this discussion, JP. I've added a topic to the TC's PTG for 1600 UTC on Friday, 31st Oct 2025. I hope you'll be able to share your findings there briefly and invite opinions in-sync. Our vehicle for driving cross project work has been via the Community Goals framework: https://governance.openstack.org/tc/goals/ If we have one or more objectives, this can be proposed as one, and will require a "goal champion" - someone that'll help us gather requirements, and coordinate efforts to complete the goal. Some goals in the past have spawned new groups - either as Pop Up Teams or SIGs (https://governance.openstack.org/tc/reference/comparison-of-official-group-s...).
Hi everyone, Following this thread from last October, I would like to move this discussion forward with a concrete proposal and a commitment to drive the work. I am Maurício Harley, Senior Software Engineer at Red Hat and currently serving as Barbican PTL (recently re-elected unanimously). Given Barbican's central role in OpenStack's cryptographic infrastructure, I believe this initiative is a natural extension of the project's mission, and I am committed to driving it. I've been researching PQC extensively over the past months, studying both the upstream OpenStack codebases and the evolving standards landscape (NIST FIPS 203/204/205, CNSA 2.0, IETF hybrid TLS drafts). Building on JP Jung's initial analysis and the inventory he started at [1], I am proposing to organize this effort in the following concrete steps: Step 1 - Structured per-project inventory. Expand the wiki inventory [1] into a structured per-project assessment covering: in-transit channels (TLS configuration and protocol version enforcement), at-rest data (key generation and storage), signing and identity (JWT, X.509, image signatures), library dependencies (direct and transitive), and confidentiality horizons (how long each data class needs protection - critical for prioritizing HNDL risk). Step 2 - Pop-up Team. Submit a Pop-up Team proposal to openstack/governance, following the same model used for eventlet-removal [2]. The Pop-up Team would be the coordination vehicle to produce the assessment guide, the per-project tracking page, and the reference implementations before a formal Community Goal is proposed. Step 3 - Reference implementation in Barbican. Add ML-DSA and ML-KEM as supported key types in the generation and storage pipeline, alongside RSA and ECDSA, conditional on pyca/cryptography exposing these algorithms. This demonstrates a non-disruptive, opt-in migration path. As PTL I can secure the review bandwidth within the project. Step 4 - Community Goal. Propose a Community Goal once the inventory and proof-of-concept are established, with completion criteria grounded in observable code and CI changes - not just documentation. A note on scope. From the assessment work done so far, a few observations that shape the approach: * A significant number of cryptographic touchpoints across OpenStack are already configuration-driven and will become PQC-ready without code changes once the underlying platform (OpenSSL 3.5, cert-manager, PyJWT) adds PQC support. The actual code changes concentrate in a small number of shared libraries and services. * oslo.service's sslutils module is being deprecated (target: 2026.2), which shifts TLS termination to infrastructure where PQC-capable OpenSSL handles key exchange automatically. This naturally reduces the upstream attack surface. * The core remediation vector is crypto agility - ensuring that algorithm choices are configurable rather than hardcoded. Some projects already follow this pattern (e.g. keystonemiddleware's configurable JWT algorithm); others need work (e.g. Keystone JWS token signing uses hardcoded ECDSA P-256). Building on JP's observation about cryptographic module proliferation, the inventory work in Step 1 will help distinguish between modules that are true production dependencies versus those that are transitive or test-only. This will clarify the consolidation path. I would like to ask TC members directly: 1. Is there interest in designating a TC liaison for a PQC Migration Pop-up Team? 2. Would the approach described above - starting with a Pop-up Team and graduating to a Community Goal once the groundwork is laid - address the concerns raised by Sean Mooney about starting lighter-weight? I will send a separate message with the Gerrit link as soon as the Pop-up Team governance patch is up, and will use [pqc] as the mailing list tag and pqc-migration as the Gerrit topic prefix going forward. Thanks, Maurício Harley Barbican PTL | Red Hat OpenStack Services on OpenShift IRC: mharley [1] https://wiki.openstack.org/wiki/Post_quantum_openstack [2] https://governance.openstack.org/tc/reference/popup-teams.html
On 2026-03-20 12:11:29 -0000 (-0000), mharley@redhat.com wrote: [...]
I am proposing to organize this effort in the following concrete steps: [...]
With my pragmatist-skeptic hat on, I think you've outlined a fine plan to engage with others in the community who share your interest in this work. My only concern is with the last step...
Community Goal. Propose a Community Goal once the inventory and proof-of-concept are established, with completion criteria grounded in observable code and CI changes - not just documentation. [...]
Based on prior discussion, it's as of yet unclear that this work would touch a broad enough cross-section of OpenStack projects, nor in a sufficiently consistent manner, to warrant a community goal. I think it's a potential outcome, pending your deeper investigation, but not a foregone conclusion. It's quite possible that the work you want to accomplish can be done within the scope of the pop-up team without the need for an eventual goal blessed by the TC. Keep in mind that my aim is not to trivialize your work, I merely wish to point out that wrapping it in additional governance bureaucracy may result in a greater expenditure of effort and further delays, taking longer to achieve your desired result. -- Jeremy Stanley
On Fri, Mar 20, 2026 at 12:26 PM Jeremy Stanley <fungi@yuggoth.org> wrote:
On 2026-03-20 12:11:29 -0000 (-0000), mharley@redhat.com wrote: [...]
I am proposing to organize this effort in the following concrete steps: [...]
With my pragmatist-skeptic hat on, I think you've outlined a fine plan to engage with others in the community who share your interest in this work. My only concern is with the last step...
Community Goal. Propose a Community Goal once the inventory and proof-of-concept are established, with completion criteria grounded in observable code and CI changes - not just documentation. [...]
Based on prior discussion, it's as of yet unclear that this work would touch a broad enough cross-section of OpenStack projects, nor in a sufficiently consistent manner, to warrant a community goal. I think it's a potential outcome, pending your deeper investigation, but not a foregone conclusion. It's quite possible that the work you want to accomplish can be done within the scope of the pop-up team without the need for an eventual goal blessed by the TC.
I agree, the pop up team is a fine idea for driving cross project work with a specific end goal in mind. If you anticipate shipping some code library, I think it can be absorbed by an existing project team, or a SIG. However, a "pop up team" creates a bunch of volunteer experts that can meet, plan and be available to help others that are affected by the work. Most recently, the "eventlet removal" pop up team has used this ML, IRC and PTG meetings to further their tasks. However, they did define a community goal that was quite high level. Please note however, that high level goals are hard to drive consensus on, so I'll side with fungi to say that unless you have specific items, a timeline and owners, defining a cross project goal feels premature.
1. Is there interest in designating a TC liaison for a PQC Migration Pop-up Team? will discuss this at the next week's IRC meeting; please make your team proposal on gerrit when you get a chance.
Keep in mind that my aim is not to trivialize your work, I merely wish to point out that wrapping it in additional governance bureaucracy may result in a greater expenditure of effort and further delays, taking longer to achieve your desired result. -- Jeremy Stanley
On Fri, Mar 20, 2026 at 2:44 PM Goutham Pacha Ravi <gouthampravi@gmail.com> wrote:
On Fri, Mar 20, 2026 at 12:26 PM Jeremy Stanley <fungi@yuggoth.org> wrote:
On 2026-03-20 12:11:29 -0000 (-0000), mharley@redhat.com wrote: [...]
I am proposing to organize this effort in the following concrete steps: [...]
With my pragmatist-skeptic hat on, I think you've outlined a fine plan to engage with others in the community who share your interest in this work. My only concern is with the last step...
Community Goal. Propose a Community Goal once the inventory and proof-of-concept are established, with completion criteria grounded in observable code and CI changes - not just documentation. [...]
Based on prior discussion, it's as of yet unclear that this work would touch a broad enough cross-section of OpenStack projects, nor in a sufficiently consistent manner, to warrant a community goal. I think it's a potential outcome, pending your deeper investigation, but not a foregone conclusion. It's quite possible that the work you want to accomplish can be done within the scope of the pop-up team without the need for an eventual goal blessed by the TC.
I agree, the pop up team is a fine idea for driving cross project work with a specific end goal in mind. If you anticipate shipping some code library, I think it can be absorbed by an existing project team, or a SIG. However, a "pop up team" creates a bunch of volunteer experts that can meet, plan and be available to help others that are affected by the work. Most recently, the "eventlet removal" pop up team has used this ML, IRC and PTG meetings to further their tasks. However, they did define a community goal that was quite high level. Please note however, that high level goals are hard to drive consensus on, so I'll side with fungi to say that unless you have specific items, a timeline and owners, defining a cross project goal feels premature.
1. Is there interest in designating a TC liaison for a PQC Migration Pop-up Team? will discuss this at the next week's IRC meeting; please make your team proposal on gerrit when you get a chance.
I think in a different way. The PQC compliance effort needs standardized/general guidance/what-to-change that applies to all projects. The analysis and changes should be done consistently across all the OpenStack projects. For example, a few open questions are: 1. Should we make OpenStack a quantum-resistant system that will not accept quantum-risk code, even when it is user-configurable/requested? 2. Or it should be quantum-resistant, but does not reject the quantum-risk things for the old system, where there is no risk for quantum. 3. What are the possible alternatives we should consider, which also depend on the dependency as a whole (openssl, openssh). Considering the overall effort required across all projects consistently, I agree with mharley's plan, starting with a Pop-up Team and graduating to a Community Goal. This seems a good candidate for a community-wide goal, with someone to lead the effort with the correct consistency and timelines. -gmaan
Keep in mind that my aim is not to trivialize your work, I merely wish to point out that wrapping it in additional governance bureaucracy may result in a greater expenditure of effort and further delays, taking longer to achieve your desired result. -- Jeremy Stanley
Thanks Jeremy, Goutham, and Ghanshyam for the thoughtful feedback. Jeremy, your point is well taken. I'll keep the Community Goal as a possible outcome, not a predetermined one. The Pop-up Team is the vehicle, and its own deliverables (inventory, assessment guide, reference implementation) have value regardless of whether a Community Goal materializes. Let the data speak for itself. Goutham, agreed: the governance patch is the immediate next step. I may have it up on Gerrit this week. Ghanshyam, the questions you raise are exactly what the Pop-up Team should answer early. Here's my initial thinking: 1. "Should OpenStack reject quantum-risk code, even when user-configurable?" - No. The migration should be opt-in and backward-compatible. Operators must be able to adopt PQC at their own pace. The goal is to make PQC possible, not to break existing deployments. 2. "Should it be quantum-resistant but not reject old systems?" - Yes, this is the right model. Add PQC algorithm support alongside classical algorithms. Default to the most secure option available, but allow fallback. This aligns with how the TLS ecosystem is handling it (hybrid key exchange, not PQC-only). 3. "What about dependencies (OpenSSL, OpenSSH)?" - This is where the scope analysis matters most. OpenSSL 3.5 already ships ML-KEM and ML-DSA. Python services on platforms with OpenSSL 3.5 will negotiate PQC-hybrid TLS automatically if the application code does not block it. Many of our findings are exactly of this nature - code that restricts protocol versions or does not configure key exchange groups. The upstream work is less about implementing crypto and more about removing barriers and ensuring crypto agility. On the concrete deliverables: I shall submit the Pop-up Team governance patch to openstack/governance this week, using pqc-migration as the Gerrit topic. That will include the team charter, scope, and initial list of members. Thanks, Maurício
Hi everyone, As promised, the Pop-up Team governance patch is now up for review: https://review.opendev.org/c/openstack/governance/+/982062 CI has passed. TC members, your review is welcome. Thanks, Maurício Harley Barbican PTL IRC: mharley
participants (9)
-
Clark Boylan
-
Ghanshyam Maan
-
Goutham Pacha Ravi
-
Jean-Philippe Jung
-
Jeremy Stanley
-
Julia Kreger
-
Maksim Malchuk
-
mharley@redhat.com
-
Sean Mooney