Last edited

Secure Aggregation

Secure Aggregation is a cryptographic protocol that ensures that the server in federated learning can learn only aggregated updates, not the individual updates from each client. This helps protect client privacy in cases of potential eavesdropping on the communication channel between the client and the server, while also minimising what the server can learn about each client. While Secure Aggregation enhances the privacy of clients, it can introduce some computation and communication overhead.

It is also by design robust to client dropout i.e., the aggregation process at the server remains intact even if updates from some clients go missing. The level of tolerance to client dropout can be controlled by tunable parameters in the protocol.

Note: While the term Secure Aggregation might be used in other places, here we use the term to refer only to a series of protocols, including SecAgg, SecAgg+, LightSecAgg, FastSecAgg, etc. This concept was first proposed by Bonawitz et al. in Practical Secure Aggregation for Federated Learning on User-Held Data.

Secure Aggregation in Flower

Flower makes it straightforward to add secure aggregation to federated learning with SecAggWorkflow and SecAggPlusWorkflow. Check out an example here.