On End-to-end encryption for Cloud-based Services