2017-03-28 31 views
0

我知道IdentityServerOptions.SigningCertificate用于签署IDS提供的令牌。如果此证书在IDS之外可用,是否有任何关注?如果您有权访问此证书,是否可以创建访问令牌?共享SigningCertificate时存在哪些安全隐患

我们有一个产品,我们想知道如果我们应该在msi安装程序中发送预制的certifcate,或者我们需要运送sdk(或makecert)为每个客户端生成一个唯一的证书。显然,最简单的选择是发运预先准备好的产品,只是想了解风险。

回答

1

据我了解,您将要在系统中分发IdentityServer的副本,因此您将拥有各自拥有自己的IdentityServer的大量安装。

基本上,IdentityServer需要访问私钥以签署令牌,所以如果您为所有安装提供相同的证书+私钥,理论上一个安装可以信任来自另一个的令牌。很明显,令牌的内容也是相关的,但是看到这是你的系统,所以在整个安装过程中,示波器,声明等都是不合理的。

如果您将恶意人员添加到混合中,那么他们可以简单地选择令牌的内容并对其签名,甚至可以使用IdentityServer代码本身来执行此操作,因为它是开源的。

您应该考虑允许管理员加载pfx文件或配置证书存储中存在的签名证书。有各种各样的陷阱,以这两种方法,这个博客帖子大约有问题的一些好的信息,你可能会遇到:

http://paulstovell.com/blog/x509certificate2

您还需要考虑如何续订证书,IdentityServer有这很好的支持,信息在这里文档:

https://identityserver.github.io/Documentation/docsv2/configuration/crypto.html

编辑:

如果我最初的假设是不正确的,只会有一个IdentityServer其中,W生病在你的控制之下,你只会分发公钥,那就好了!这里的公共VS私钥和术语一个很好的解释:

https://security.stackexchange.com/questions/29425/difference-between-pfx-and-cert-certificates

+0

谢谢@马特。这再次证实了我对这种方法的担忧。看起来像一个独特的证书是这里的解决方案。 – gavins

相关问题