The most secure way to do this would be for the clients to connect to the server (I assume it is some where) using SSH or SFTP. SSH includes the ability to do file transfer.
That is a little more involved, and cross platform use can be limited (some devices have to be rooted (read: phones/tablets) to use SSH/SFTP).
For a little less of a headache, you can try using Bittorrent Sync. I hear/have read good things about it. Supposedly, it generates a key for each folder shared that the client has to have in order to sync with what ever is running the Bittorrent Sync server (such as a linux box).
Here is a tutorial to set it up on Debian.. After that, all you need is a Bittorrent Client (for IOS, your options are limited to Bittorrent's own clients, such as utorrent or their web browser version).