我想用JSON签名( JWT标准的一部分)对web服务中的webhooks进行签名,理想情况下使用非对称密钥(所以,使用RSA或椭圆曲线加密)。
发布我的公钥的推荐或标准方法是什么?有存放公钥的标准场所吗?它应该依赖CA吗?最终,我试图找到最“标准”的方式签署不对称密钥的网络钩子。
发布于 2019-03-27 21:21:26
对于大多数网络服务来说,你的网站就是你的身份。如果您在您的网站上发布您的公钥,任何通过一个安全的HTTPS连接访问它的人都可以合理地确定它属于您。如果您以任何其他方式发布它,您将需要某种方式连接到您的网站,以确保它是合法的用户。
发布于 2019-02-24 13:15:54
发布我的公钥的推荐或标准方法是什么?有存放公钥的标准场所吗?
分发公钥的最佳方法是通过(PGP)密钥服务器。这里有两个著名的例子:Ubuntu,麻省理工学院。您还可以将其发布到多个服务器,以使客户端更容易找到它。
请注意,这只负责分发。您仍然需要处理用户将如何信任此密钥。很可能,你需要在你的网站上公布PGP密钥的指纹。此时,最好直接发布您的公钥。
它应该依赖CA吗?
这不是一项要求。尽管您可以获得一个证书并将其分发给将与您的web钩子一起调用的各方,但这仍然需要您的用户实现自定义验证逻辑,因为这不是一个标准。这将解决信任问题,前提是CA受到用户的信任。
最终,我试图找到最“标准”的方式签署不对称密钥的网络钩子。
我不知道有什么标准。我认为最接近这个的是下面的流程。
如果没有标准,您就无法绕过客户端需要实现自定义逻辑这一事实。您可以为他们提供一个库,用于进行密钥查找和验证。
https://security.stackexchange.com/questions/203182
复制相似问题