首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SaaS云服务客户端的交互SSL

SaaS云服务客户端的交互SSL
EN

Security用户
提问于 2018-12-11 10:39:40
回答 1查看 442关注 0票数 1

我的公司正在推出基于云的SaaS服务。将会有来自不同租户的客户通过相互SSL连接到我们的服务。

客户端将使用我们提供的库连接到服务。这个基于Java的库将使用密钥库和信任库执行相互SSL。所以服务器和客户端都在我们的控制之下。需要强调的是,在整个通信过程中不存在浏览器。

为了成功地执行相互SSL身份验证,他们必须信任我们的云服务提供的证书。该证书可以是:

  1. 公共CA证书(如Comodo、Verisign等)。但是,如果要求客户端信任公共CA,就有可能发生中间人攻击,因为其他人可以使用同一CA签署的不同证书来欺骗客户端。
  2. 我们自己的私有根CA。这将涉及构建我们自己的PKI服务和保护私钥等。我们的情况有理由选择这条路吗?
  3. 服务器和客户端使用的自签名证书。这个解决方案的一个问题是,当证书过期时,租户之间的所有客户端都必须同时重新配置新的证书。这是不能接受的。

我遇到的另一个选项是使用某种SSL钉扎(证书或公钥)来覆盖信任链。这不是一个容易实现的解决方案。

推荐的解决方案是什么?

EN

回答 1

Security用户

发布于 2018-12-11 12:08:11

考虑到客户机和服务器都完全在您的控制范围内,我认为只依赖自颁发的证书是最好的(也可能也是最简单的),这样您就不需要信任超出您控制范围的外部CA了。

如果您只有几个通信对等点,那么使用自签名证书并在需要时进行交换可能很容易。请注意,在这种情况下,您可以简单地将密码钉到特定的证书或公钥上,而忽略任何过期、撤销等,因为一切都在您的直接控制范围内。

使用更多的通信对等点,最好创建您自己的PKI结构,即拥有您自己的根CA,它为客户端和服务器颁发证书,并且还可以更新和撤消证书。一旦建立了这个PKI,通信对等点的管理就简化了,因为他们只需要信任这个特定的CA (而且只有这个CA)。已经可以用openssl创建一个简单的PKI结构,但是也有一些商业产品可以提供更好的可用性和扩展性。

考虑到您对客户端和服务器都有完全的控制权,实际上可以启动简单和廉价的(自签名证书),增长缓慢,但保持廉价(基于openssl的CA),然后在涉及大量客户端时转向(不太便宜)企业CA。

票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/199536

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档