Open portersrc opened 3 months ago
Great. Nice to see that CoCo stepped image, memory, and now we are conquering networking and storage...
Some questions at first glance
Great. Nice to see that CoCo stepped image, memory, and now we are conquering networking and storage...
Some questions at first glance
- How to ensure the availibility of the Nebula VPN daemon?
- Once initdata is handled, probably we do not need to do any change upon kata-agent?
It would be better if Nebula could be hidden behind CDH, allowing CDH to control its availability and making Nebula transparent to the kata-agent.
Thanks for the initial feedback.
How to ensure the availability of the Nebula VPN daemon?
Currently I launch the Nebula daemon from the encrypted-mesh module that I added to guest-components. If it dies, the VPN won't work. This shouldn't lead to any leaked traffic, because the application should fail to send any secure data on that interface at that point. That said, it would be much better to have some kind of way to restart it, like with systemd restart policies.
Once initdata is handled, probably we do not need to do any change upon kata-agent?
That would be ideal. With initdata, is the idea to make all of it available inside of the CDH for other guest-components modules to access?
It would be better if Nebula could be hidden behind CDH, allowing CDH to control its availability and making Nebula transparent to the kata-agent.
I completely agree. If initdata can remove this dependency, then kata-agent will not need any mesh-related changes.
CoCo currently has no first-class support for securing the communication between enclaves. This responsibility has been left to the application, but CoCo could provide this optional feature. This RFC outlines what changes in the confidential data hub could support such a feature.
The following high-level diagram shows how this could work:
Orange nodes are where the main changes would be needed, including in the CDH. The main points are:
Proposed changes to guest-components
External changes
Changes outside of guest-components that would be needed for this approach include:
Alternative designs and frameworks
Alternative designs that were considered, each with varying merits:
References
[1] August 15, 2024 community meeting with VPN talk [2] May 9, 2024 community meeting with VPN talk [3] guest-components PR 634 (query string support) [4] trustee Issue 396 (extend KBS with plugin and mesh plugin support) [5] trustee PR 451 (address 396) [6] Secure Comms for peer pods [7] Nebula docs