【问题标题】:Simple server-to-server authentication protocol简单的服务器到服务器身份验证协议
【发布时间】:2021-12-05 07:06:09
【问题描述】:

我是服务器身份验证的新手。我想要一种简单的方法,让服务器 Main 以安全的方式从其他服务器(例如 AB)接收 REST 命令(GET、POST 等)。

我阅读了有关 oAuth2 和 oAuth1.0a 的信息,但我认为拥有“资源”服务器和刷新令牌等有点过头了。我能找到的最简单的两种方法是:

  • 让服务器AB 生成密钥对,预先将公钥提供给服务器Main(或通过/publickey 路由访问),每次都使用数字签名签署一个随机数HTTP 请求来自A->MainB->Main,并让Main 检查DS 是否正确。
  • 执行上述操作,但使用对称密钥、ID 和 HMAC(即,Main 知道 A 具有密钥 XXX,因此当它收到声称来自 A 的请求时,它将运行接收到的 nonce 上的 HMAC 并将其与接收到的 HMAC 进行比较)

请假设以上所有操作都是通过 HTTP 完成的,因此 MITM 是一个真正的问题

我发现以下引用指向类似的东西,但我真的很想要一个“官方”协议,它经过审查并保证在密码学上是健全的

【问题讨论】:

    标签: authentication oauth-2.0 oauth digital-signature hmac


    【解决方案1】:

    我最终做了Amazon AWS S3 service API authentication 的修改版本。这工作得很好。代价是每个请求都要计算一个 HMAC,而且请求正文必须使用两次。

    【讨论】:

      猜你喜欢
      • 2016-05-16
      • 2022-11-30
      • 2019-07-23
      • 2022-09-27
      • 2020-11-24
      • 1970-01-01
      • 1970-01-01
      • 2021-04-27
      • 2016-01-02
      相关资源
      最近更新 更多