AWS S3 предлагает возможность создавать short-lived URL для файлов с приватным доступом,
алгоритм реализован в AWS SDK для разных языков (Ruby, ObjectiveC, .NET, Java, Android, PHP).
На AWS SDK для Ruby это выглядит так: AWS::S3.new.buckets[s3_bucket].objects[path].url_for(:read, :expires => 7200).request_uri[1..-1]
Есть ли возможность имплементировать алгоритм в Nginx, или уже есть такой модуль?
Если есть вопросы о целесообразности, то здесь смысл один - проксировать приватные файлы с S3 без участия бэкэнда.
Про secure_link_md5 знаю хорошо и он используется в продакшне для своих целей.