Rest 无状态API服务中的身份验证-安全吗?

Rest 无状态API服务中的身份验证-安全吗?,rest,authentication,cryptography,digital-signature,stateless,Rest,Authentication,Cryptography,Digital Signature,Stateless,是否有处理无状态身份验证的标准实践 我正在创建一个API服务器,希望每个请求都由客户端签名,这样我可以保证请求的发布者是我们站点的有效用户 服务器和客户端有一个共享的秘密,即用户的哈希密码,所以 服务器向客户端发送一个随机的nonce值 客户端将签名密钥K构造为(nonce,哈希密码) 客户端通过使用密钥K附加消息身份验证代码来“签名”每个请求 e、 g.(“删除图像”,用户id,请求签名) 然后,服务器在处理每个请求之前检查签名是否有效 有什么明显的缺陷吗?看看他们在Amazon We

是否有处理无状态身份验证的标准实践

我正在创建一个API服务器,希望每个请求都由客户端签名,这样我可以保证请求的发布者是我们站点的有效用户

服务器和客户端有一个共享的秘密,即用户的哈希密码,所以

  • 服务器向客户端发送一个随机的nonce值
  • 客户端将签名密钥K构造为(nonce,哈希密码)
  • 客户端通过使用密钥K附加消息身份验证代码来“签名”每个请求
    • e、 g.(“删除图像”,用户id,请求签名)
  • 然后,服务器在处理每个请求之前检查签名是否有效

有什么明显的缺陷吗?

看看他们在Amazon Web服务中使用了什么,他们做到了所有这些。

散列密码是通过互联网发送的还是服务器和客户端都知道的?在第二种情况下,您可以使用MAC(消息身份验证代码)。使用数字签名是不合理的。这可能就是我的意思,哦。所以,它几乎是安全的。