【发布时间】:2021-12-05 07:06:09
【问题描述】:
我是服务器身份验证的新手。我想要一种简单的方法,让服务器 Main 以安全的方式从其他服务器(例如 A 和 B)接收 REST 命令(GET、POST 等)。
我阅读了有关 oAuth2 和 oAuth1.0a 的信息,但我认为拥有“资源”服务器和刷新令牌等有点过头了。我能找到的最简单的两种方法是:
- 让服务器
A和B生成密钥对,预先将公钥提供给服务器Main(或通过/publickey路由访问),每次都使用数字签名签署一个随机数HTTP 请求来自A->Main或B->Main,并让Main检查DS 是否正确。 - 执行上述操作,但使用对称密钥、ID 和 HMAC(即,
Main知道A具有密钥XXX,因此当它收到声称来自A的请求时,它将运行接收到的 nonce 上的 HMAC 并将其与接收到的 HMAC 进行比较)
请假设以上所有操作都是通过 HTTP 完成的,因此 MITM 是一个真正的问题
我发现以下引用指向类似的东西,但我真的很想要一个“官方”协议,它经过审查并保证在密码学上是健全的:
【问题讨论】:
标签: authentication oauth-2.0 oauth digital-signature hmac