小编div*_*dip的帖子

如何在微服务之间实现TLS

有人可以对我正在考虑的微服务安全设计发表评论,审核,评论或其他方面的评论吗?

假设我有三个微服务,每个微服务通过REST端点与另外两个微服务进行通信.每个微服务都包含一个密钥库.在此密钥库中包含由受信任的证书颁发机构签名的微服务的私有/公共密钥对.此密钥库中还有另外两个微服务的公钥证书,这些证书是从源微服务的签名/可信密钥对导出的.

这种实现方式有效,但有些事情并不十分正确.

也就是说,每次我引入一个新的微服务时,我必须将每个现有微服务的公钥证书添加到其密钥库,以及b)新微服务的公钥证书到其他所有微服务(假设新的微服务必须双向通信,并且安全地,与每个现有的微服务).

现在,为第二个密钥对重复上述模式,这个密钥对用于签署/验证REST调用中提供的身份验证令牌.

我想知道,除了上述之外,是否a)建议并且b)在所有微服务之间共享一个可信的公钥证书是否安全?完全不同的东西?

请礼貌.我绝不是这方面的专家.

编辑: 在我阅读原帖后的回复/评论之后,我发现我省略了可能使问题更加清晰的细节,因此评论者能够更好地解决这个问题:

  1. 有问题的微服务存在于专用Intranet内,并且只能由该Intranet内的客户端(浏览器或其他微服务)访问.

  2. 实际上有一个受信任的CA--即拥有此内部网的公司 - 并且是CA签署微服务的密钥对.

看来,这个问题的解决方案隐含在@Andreas的第一条评论中,他写道:"只要发布它们的CA受到信任,它们也会受到信任."

只要每个新的微服务都部署有a)自己的密钥对,由CA签署(一个用于签名,另一个用于加密),以及b)CA的证书,我可以部署新的微服务,并且合理保证他们将与所有其他微服务(合理的,因为我甚至不知道其他潜在的漏洞).

不知何故,我想到了我必须为每个微服务的密钥对创建一个全新的证书,并将其包含在其他微服务的密钥库中(重复每个新的微服务).相反,我需要的只是一个证书,即在每个微服务的密钥库中签署密钥对的CA的证书.

ssl pki microservices

7
推荐指数
1
解决办法
3600
查看次数

标签 统计

microservices ×1

pki ×1

ssl ×1