Веб-сервисы Amazon делают это хорошо, ознакомьтесь с методологией для некоторых идей. По сути, они заставляют клиентов шифровать специальный заголовок http, используя свой пароль.
Вот ссылка:
http://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html