P4 Shield: Secure Execution of Users' P4 Programs with In-VM Information Inside Clouds
Abstract
Recently emerging programmable network switches can control packet forwarding by software, e.g., using the P4 language. For virtual machines (VMs), virtual P4 switches have been developed to execute P4 programs inside virtual switches. If users could load their own P4 programs into virtual P4 switches, it would enable custom packet forwarding using information inside their VMs. In clouds, however, users cannot fully trust virtual P4 switches, nor can virtual P4 switches trust users' P4 programs. To address these issues, this paper proposes P4 Shield for enabling the secure execution of each user's P4 programs outside clouds' virtual switches by using P4 VMs prepared per user. P4 Shield protects P4 programs from clouds by running P4 VMs as confidential VMs, whose states are protected by processors. It also protects clouds' virtual switches from users' P4 programs by confining them in uBPF sandboxes created in P4 VMs. To allow P4 programs to use information inside users' VMs, P4 Shield provides P4 external functions for accessing information in the shared memory between a P4 VM and a user's VM. We have implemented P4 Shield using Open vSwitch and confirmed its effectiveness.
Fields of Study & Subjects
Security and Verification in Computing
Software-Defined Networks and 5G
Cloud Computing and Resource Management
Publication details
- Journal / source
- IEEE Annual Computing and Communication Workshop and Conference (CCWC)
- Pages
- 1092–1099
- Publication date
- 5 January 2026
- Language
- EN