I don't think this kind of extension exists, at least in public repositories. You will need to create such extension on your own, or hire someone. It should not be hard to write a module which checks permissions and connect to your storage server, fetch images which user want to download. It is up to you what how eZ Publish will communicate with storage server.