zkFL: Zero-Knowledge Proof-based Gradient Aggregation for Federated Learning